PHP-Дайджест № 192 (2 – 16 ноября 2020)

de525b8b9f694ea5a59e120ae5f04cad.jpg

Свежая подборка со ссылками на новости и материалы. В выпуске: Последний релиз-кандидат PHP 8.0 перед финальным релизом и свежие материалы по PHP 8, RFC и обсуждения из PHP Internals, порция полезных инструментов, стримы, подкасты, статьи.

Приятного чтения!


f574e9991c42407b8fa789a66b854f8d.png Новости и релизы


  • PHP 8.0 RC 4 — Последний релиз-кандидат перед финальным выпуском PHP 8, который намечен на 26 ноября.

    Свежие материалы по PHP 8:

    Кроме того, в PHP 8 по умолчанию удален PECL. Из-за этого могут поломаться Dockerfile, в которых с его помощью устанавливались расширения. Вместо PECL можно использовать FriendsOfPHP/pickle.

    Скрытый текст
    RUN curl -L -o /tmp/pickle.phar https://github.com/FriendsOfPHP/pickle/releases/latest/download/pickle.phar; \
        mv /tmp/pickle.phar /usr/local/bin/pickle; \
        chmod +x /usr/local/bin/pickle; \
        pickle install xdebug; \
    
    RUN echo "extension=xdebug.so" >> $PHP_INI_DIR/conf.d/php.ini; \
    

    Или так:
    RUN mkdir -p /usr/src/php/ext/xdebug && \
        curl -fsSL https://pecl.php.net/get/xdebug | \
        tar xvz -C "/usr/src/php/ext/xdebug" --strip 1 && docker-php-ext-install xdebug
    

  • phpcommunity.ru — PHP-сообщества в России, Беларуси, Украине.
    Ближайшие митапы: PHP-митап Иннополис онлайн, 19 ноября; Online-митап по PHP от SimbirSoft, 20 ноября.


c9ee7880391644e4aef6cc28ca681ab0.png PHP Internals


  • [Draft] Closure self reference — Ранний черновик на обсуждении. Предлагается в замыканиях добавить псевдопеременную $lambda, которая указывает на само замыкание. По аналогии с $this для классов.
    $fibonacci = function (int $n) use (&$fibonacci) {
        if ($n === 0) return 0;
        if ($n === 1) return 1;
        return $fibonacci($n-1) + $fibonacci($n-2);
    };
    
    // =>
    
    $fibonacci = function (int $n) {
        if ($n === 0) return 0;
        if ($n === 1) return 1;
        return $lambda($n-1) + $lambda($n-2);
    };
    
  • [PR] Support for :: function syntax — Концепт синтаксиса ::function (или ::fn) для получения полного неймспейса и имени функции по аналогии с ::class. Подобное предложение обсуждалось раньше и имеет проблемы, но вполне вероятно будет принято.
  • [Discussion] Alias for `int|float` — Обсуждалась возможность ввести псевдоним number или numeric для объединенного типа int | float. В комментариях указали, что уж лучше позже сделать полноценные алиасы для типов как в TypeScript: type Number = Foo|Bar;.


cf862d9072784d04b621238ec137f2ca.png Инструменты


  • mnavarrocarter/php-fetch — Порт fetch WebApi на PHP без сторонних зависимостей. Лаконичный HTTP-клиент в одной функции:
    Скрытый текст
    use function MNC\Http\fetch;
    
    $response = fetch('https://habr.com');
    
    echo $response->status()->code();   // 200
    
    echo buffer($response->body());
    // or
    while (($chunk = $response->body()->read()) !== null) {
        echo $chunk;
    }
    
  • themsaid/ibis — Поможет сгенерировать полноценную электронную книгу в PDF из markdown-файлов.
  • i582/phpstats — Инструмент для сбора метрик кода и графов зависимостей для PHP. Реализован на базе VKCOM/noverify, то есть на Go.
  • mihaeu/dephpend — Инструмент статического анализа, который поможет выявить проблемы в архитектуре путям анализа зависимостей классов.
  • httpsoft/http-message — Строгая и быстрая реализация стандартов #PSR-7 и #PSR-17.
  • spatie/crypto — Небольшая обертка над openssl для шифрования данных с помощью приватного/публичного ключа. Вводный пост.
  • icanhazstring/systemctl-php — PHP-обертка над systemctl.


96b65e92179a40f2bd1884549973ddd5.png Symfony


314bd0f0dfc54e3fa7f0c0daef1a2d25.png Laravel


569de4298b764a33894aa517e74324f9.png Yii


732rpqll-yvu0hrtaw6yeism-de.png Async PHP


phpstorm PhpStorm


329bec7c1e914963a1c5d2f2bfe99995.png Разное


8dcc236774104f8286a40ceaea553820.png Аудио/Видео


cc24d9c95c9841988f8299a8b285e6f6.png Занимательное


  • vincentpontier.com/elephpant/ — Официальный магазин слоников снова доступен! Можно заказать розового и синего.

Спасибо за внимание!

Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку хабра или телеграм.

Больше новостей и комментариев в Telegram-канале PHP Digest.


Прислать ссылку
Поиск ссылок по всем дайджестам
← Предыдущий выпуск: PHP-Дайджест № 191

© Habrahabr.ru