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

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


Новости и релизы



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 <func>::function syntax — Концепт синтаксиса ::function (или ::fn) для получения полного неймспейса и имени функции по аналогии с ::class. Подобное предложение обсуждалось раньше и имеет проблемы, но вполне вероятно будет принято.
  • [Discussion] Alias for `int|float` — Обсуждалась возможность ввести псевдоним number или numeric для объединенного типа int | float. В комментариях указали, что уж лучше позже сделать полноценные алиасы для типов как в TypeScript: type Number = Foo|Bar;.

Инструменты


  • 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.

Symfony



Laravel



Yii



Async PHP



phpstorm PhpStorm



Разное



Аудио/Видео



Занимательное


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

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

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

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

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