PHP-Дайджест № 170 (9 – 23 декабря 2019)

fv6alpkkosreb_v_gbzckzugjra.jpeg

Свежая подборка со ссылками на новости и материалы. В выпуске: CakePHP 4, Codeception 4, Phalcon 4 и другие релизы, порция полезных инструментов, подкасты, видео с прошедших митапов, и многое другое.

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


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


  • CakePHP 4.0.0 — Минимальная версия PHP 7.2, поддержка PSR (3, 15, 16, 18) и много других изменений, в основном эволюционного характера
  • Codeception 4.0 — Модули вынесены в отдельные пакеты, добавлена поддержка Symfony 5, phpdotenv 4, добавлен скрипт для апгрейда.
  • Phalcon 4.0.0 — Релиз фреймворка, поставляемого в виде расширения PHP. Минимальная версия PHP 7.2, поддержка PSR (7, 11, 13, 16, 17), более строгие интерфейсы, добавлены фабрики. Больше изменений в руководстве по обновлению.
  • Xdebug 2.9.0 — В релизе ускорена работа покрытия кода в 2.5 раза (по сравнению с Xdebug 2.7). Подробнее о причинах.
  • PHP 7.4.1
  • PHP 7.3.13
  • PHP 7.2.26 — Последний полноценный багфикс-релиз ветки. Ещё год по мере необходимости исправления проблем безопасности, и всё.
  • Новости PHP-FIG — О реализации принятого решения об обновлении стандартов, и предстоящих выборах core-комитета.
  • skyeng/php-communities — Открытый список PHP-событий, спикеров и организаторов. Ближайшие мероприятия:
    • 25 декабря, Москва: Юбилейный BeerPHP — habrBeerPHP: что это, зачем идти и как запустить у себя в городе


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


  • DarkGhostHunter/Preloader — Инструмент помогает выбрать файлы для предзагрузки на основе статистики использования и сгенерировать скрипт предзагрузки. Подробнее в посте habrPreload в php 7.4: Composer и выбор файлов для предзагрузки.
  • munusphp/munus — Библиотека для функционального программирования на PHP. Использует дженерик-аннотации из Psalm.
  • thecodingmachine/safe 1.0.0 — В библиотеке реализованы обёртки над стандартными функциями PHP, так чтобы они бросали исключения вместо возвращения false. Подробнее в посте.
  • krakjoe/pthreads — некогда популярное расширение для реализации многозадачности в PHP было заархивировано. Вместо него рекомендуется использовать krakjoe/parallel.


96b65e92179a40f2bd1884549973ddd5.png Symfony


314bd0f0dfc54e3fa7f0c0daef1a2d25.png Laravel


  • Laravel Idea — Под PhpStorm давно существовал Laravel плагин, но, к сожалению, последние пару лет поддерживается автором не активно. Появилась альтернатива в виде плагина Laravel Idea, который платный, но зато превосходит по возможностям оригинальный плагин. Автором является Адель, который известен по своему плагину .env files support, а также как автор книги «Architecture of complex web applications». Подробный обзор плагина в videoruскринкасте.
  • staudenmeir/eloquent-has-many-deep — Расширенная версия HasManyThrough, позволяет создавать связи с неограниченным количеством промежуточных моделей. videoВидео.
  • Начинаем работу с GitHub Actions и Laravel
  • ruАутентификация OAuth2 в проектах Laravel
  • videoПишем фильтры с помощью spatie/laravel-query-builder
  • audio Подкаст Тейлора Laravel Snippet #19: Laracon VIII, Laravel UI, Passport, Authentication.
  • audioLaravel Snippet #20: Union Types, SPA Authentication, Laravel UI, Middleware Priority, Laracon 2020.


569de4298b764a33894aa517e74324f9.png Yii


Async PHP


  • videoСкринкаст по DriftPHP асинхронному PHP-фреймворк на основе ReactPHP и компонентов Symfony.
  • amphp/http-client 4.0.0 — Обновление асинхронного HTTP-клиента из семейства Amp. Добавлена поддержка HTTP/2 и другие улучшения. Также при использовании c PHP 7.4 можно установить дополнительно nghttp2, которая будет использоваться через FFI.


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


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


cc24d9c95c9841988f8299a8b285e6f6.png Сообщество


  • Каких мелочей не хватает в PHP? — Интересный тред от Никиты Попова на Reddit. Многие говорят о дженериках, асинхронщине и т.п. А есть ли какие-то приятные мелкие штуки, которых не хватает?
    Также в треде ответ от Никиты, почему нет тайпхинта resource.
  • Автор проекта github.com/hoaproject, в рамках которого развивалась целая пачка библиотек (суммарно 125к скачиваний ежедневно), разыскивает нового мейнтенера.
  • Просто забавный мини-тред от одного из кофаундеров NPM.

    The last 10 years of web development have just been a long, slow walk back to the fantastic developer ergonomics and resilience of a PHP web app.

    — Laurie Voss (@seldo) December 12, 2019

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

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

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

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

© Habrahabr.ru