Свежая подборка со ссылками на новости и материалы. В выпуске: О будущем PHP: P++ или PHP2020, принят PSR-12, PHP 7.4 beta 2, Slim 4, и другие релизы, порция полезных инструментов, и многое другое.
Приятного чтения!
Новости и релизы
PHP Internals
- P++ — Споры и обвинения в PHP Internals по мотивам удаления коротких тэгов
<?
, явной передаче параметров по ссылке и других обсуждений в конце концов вылились неожиданное предложение от Зеева Сураски – сделать новый диалект PHP. Рабочее название P++ тут неспроста – Зеев предлагает сделать «сестринский» язык, как C++ для C. При этом предполагается, что и PHP и P++ будут развиваться одновременно в рамках одного рантайма.В новом P++ можно будет реализовать массу революционных улучшений, очистить от легаси, и навести порядок не думая об обратной совместимости. Также поскольку язык будет иметь новое название, то и от шлейфа плохой репутации можно будет отделаться. A классический PHP при этом будет получать все плюшки типа JIT, предзагрузки, и т. п., но сохранять обратную совместимость.
Предложение ожидаемо встретило массу контраргументов и Зеев даже попытался ответить на них создав P++ idea: FAQ. Тем не менее, вопросов множество: ограниченные ресурсы (всего ~2 человека фултайм работащих над PHP), фрагментация сообщества, опыт Hack, как реально будет сосуществовать и взаимодействовать код PHP и P++, и масса других.
- [RFC] Namespace-scoped declares, again — В рамках RFC Никита Попов предлагает более эволюционный подход по дальнейшему развитию языка. А именно, использование опциональных директив по типу
strict_types
.
Причём тут есть два возможных пути реализации: мелкозернистый – по директиве на каждую фичу; и крупнозернистый – когда целая пачка фич объединяется в одну директиву обозначающую редакцию или стандарт языка, например «PHP2020». По аналогии с Editions из Rust. - Call for participation: Annotating internal function argument and return types — Хотите стать контрибьютором ядра PHP? Более подходящего момента для старта не придумаешь!
Недостаточная информация о внутренних функциях в Reflection – довольно старая проблема. К счастью, в PHP 8 уже всё готово для того, чтобы сделать поддержку типов для аргументов и возвращаемых значений встроенных функций. Собственно, осталось только добавить соответствующие аннотации и для этого нет необходимости быть экспертом в С. Никита сделал PR с примером, чтоб показать процесс: https://github.com/php/php-src/pull/4499 Ну а дальше – помощь приветствуется!
Инструменты
- nunomaduro/pest — Синтаксический сахар для PHPUnit, чтобы писать тесты в стиле facebook/jest.
- php-vcr/phpunit-testlistener-vcr — Записывает HTTP-ответы в ваших тестах и затем «проигрывает» их во время последующих запусков тестов, тем самым ускоряя запуски и детерминируя результат. Пример использования.
- mpratt/Embera — Библиотека для удобного получения метаинформации о страницах по URL (oembed, opengraph, twitter-cards, изображения, код для встривания и прочее).
- NxtLvLSoftware/php-static-constructors — Статические конструкторы а-ля C# – исполняются максимум один раз. Реализованы через специальный автозагрузчик.
- DaveLiddament/sarb — Реализовывает Baseline для инструментов статического анализа, позволяя внедрять использование в легаси-приложениях.
Symfony
Laravel
Yii
Async PHP
Материалы для обучения
Аудио/Видео
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.
Больше новостей и комментариев в Telegram-канале PHP Digest.
Прислать ссылку
Поиск ссылок по всем дайджестам
← Предыдущий выпуск: PHP-Дайджест № 161
Комментариев нет:
Отправить комментарий