PHP-Дайджест № 184 (6 – 20 июля 2020)
Свежая подборка со ссылками на новости и материалы. В выпуске: Что будет с поддержкой PHP на Windows, PHP 8 Alpha 2, ReactPHP — официально продакшн-реди, 2 новых RFC предложения и 6 на голосовании, порция полезных инструментов, статьи, видео и подкасты.
Приятного чтения!
Новости и релизы
- 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
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
— Nikola Poša (@nikolaposa) November 20, 2019
️ Identifiable → HasIdentity
️ Taggable → ProvidesTags
️ Emailable → EmailMessage - FFI Improvements — Пока неофициальное предложение от камрада SerafimArts по исправлениям для FFI.
- В PHP 8.1 планируется Enum — Ilija Tovilo написал, что планирует реализовать тип
Enum
в PHP 8.1. А Larry Garfield уже подготовил подробное исследование и сравнил перечисления и подобные им типы в разных языках.
Инструменты
- 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. Веб-сайт для быстрого тестирования и демонстрации кода.
Symfony
Laravel
Yii
Async PHP
- reactphp/http 1.0 — Первый стабильный релиз асинхронных HTTP клиента и сервера на базе ReactPHP.
Все основные компоненты экосистемы ReacPHP теперь официально продакшн-реди и имеют долгосрочную поддержку не менее 2х лет.
PhpStorm
Материалы для обучения
Аудио/Видео
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.
Больше новостей и комментариев в Telegram-канале PHP Digest.
Прислать ссылку
Поиск ссылок по всем дайджестам
← Предыдущий выпуск: PHP-Дайджест № 183