PHP-Дайджест № 184 (6 – 20 июля 2020)

z9u9bqckhq6qxcskp9xsfd7plho.jpeg

Свежая подборка со ссылками на новости и материалы. В выпуске: Что будет с поддержкой PHP на Windows, PHP 8 Alpha 2, ReactPHP — официально продакшн-реди, 2 новых RFC предложения и 6 на голосовании, порция полезных инструментов, статьи, видео и подкасты.

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


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


  • PHP 8.0.0 Alpha 2 — Заморозка фич запланирована на 4 августа. Учитывая регламент с 2-недельным обсуждением и голосованием, это значит, что добавиться могут только фичи, которые уже в обсуждении/голосовании.
  • PHP 7.4.8, PHP 7.3.20, PHP 7.2.32 — Секьюрити релизы для Windows, исправляющие уязвимость CVE-2020–8169 в libcurl. Для прочих систем — обычный багфикс.
  • PHP Russia 2020, 29 ноября, Москва — Дату и место определили — отметим релиз PHP 8 вместе!
  • Microsoft, Windows и поддержка PHP — Сначала представитель Microsoft написал, что компания продолжит поддерживать разработку и сборку PHP под Windows для версий 7.2, 7.3 и 7.4 до тех пор, пока они официально поддерживаются. Но не будет поддерживать разработку PHP для Windows начиная с версии 8.0.

    Позже он уточнил, что Microsoft предоставляла билд-инфраструктуру для сообщества PHP, а после ежегодного пересмотра бюджетов решили, что не будут этого делать. И хотя они больше не будут заниматься билдами PHP для Windows, тем не менее, останутся вовлечены в PHP, продолжат поддерживать PHP-разработчиков и сотрудничество с сообществом по секьюрити-фиксам.

    Это подтвердил Joe Watkins, который вместе с Никитой и настраивал все пайпланы в Azure:

    Windows support in PHP was and is provided by the PHP project, not Microsoft. What MS will no longer provide is a build infrastructure for the PHP project for versions 8 and beyond. Everything else will continue as normal, we might even continue to use MS infra to build (Azure).

    — Joe Watkins (@krakjoe) July 15, 2020


c9ee7880391644e4aef6cc28ca681ab0.png PHP Internals


PHP 8.0


Целая пачка предложений находится на стадии голосования и, похоже, все пройдут:

PHP 8.1


  • [RFC] Deprecations for PHP 8.1 — Несколько возможностей предлагается объявить устаревшими. Сначала изменения предлагалось внести изменения в PHP 8.0, но Nikolas Grekas посоветовал сделать релиз 8.0 без депрекейшнов, по аналогии с *.0 релизами Symfony.
  • [RFC] Objects can be declared falsifiable — В RFC предлагается добавить новый интерфейс Falsifiable с магическим методом __toBool(), который позволит объектам определять и объявлять себя истинными или ложными и соответственно использоваться как bool во всех подходящих контекстах.

    В тему интересная мысль о том, что интерфейсы с суффиксами -able — плохая идея:

    One thing that particularly annoys me about naming is this silly `-able` suffix trend for interface names. Let’s stop it.

    ️ JsonSerializable → CastsToJson
    ️ Identifiable → HasIdentity
    ️ Taggable → ProvidesTags
    ️ Emailable → EmailMessage

    — Nikola Poša (@nikolaposa) November 20, 2019
  • FFI Improvements — Пока неофициальное предложение от камрада SerafimArts по исправлениям для FFI.
  • В PHP 8.1 планируется Enum — Ilija Tovilo написал, что планирует реализовать тип Enum в PHP 8.1. А Larry Garfield уже подготовил подробное исследование и сравнил перечисления и подобные им типы в разных языках.


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


  • JBZoo/Composer-Diff — Показывает разницу между двумя версиями файла composer.lock, помогает делать подробные changelog’и в MR/PR после «composer update». Прислал smetdenis.
  • JBZoo/Composer-Graph — Визуализация графа зависимости для composer.json.
  • ergebnis/factory-bot — Фабрика фикстур для Doctrine ORM. Подробнее об использовании и мотивации в посте.
  • phpsandbox.io — Аналог codepen/jsfiddle только для PHP. Веб-сайт для быстрого тестирования и демонстрации кода.


96b65e92179a40f2bd1884549973ddd5.png Symfony


314bd0f0dfc54e3fa7f0c0daef1a2d25.png Laravel


569de4298b764a33894aa517e74324f9.png Yii


732rpqll-yvu0hrtaw6yeism-de.png Async PHP


  • reactphp/http 1.0 — Первый стабильный релиз асинхронных HTTP клиента и сервера на базе ReactPHP.

    Все основные компоненты экосистемы ReacPHP теперь официально продакшн-реди и имеют долгосрочную поддержку не менее 2х лет.


phpstorm PhpStorm


329bec7c1e914963a1c5d2f2bfe99995.png Материалы для обучения


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



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

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

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


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

© Habrahabr.ru