Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4.2 и другие релизы, Stringable RFC, обзор PHP 8, порция полезных инструментов, 4 ближайших митапа, видеозаписи с конференций, стримы и многое другое.
Приятного чтения!
Новости и релизы
- PHP 7.4.2 — Кроме прочего, в релизе исправлены проблемы с предзагрузкой, а для Windows эта возможность вовсе отключена. Также исправлено много других важных проблем. Если вы откладывали обновление до 7.4 пока «исправят всё баги новой версии», то 7.4.2 уже достаточно хорош для использования.
- PHP 7.3.14
- PHP 7.2.27
- По результатам выборов в PHP-FIG новый core-комитет составят Korvin Szanto, Enrico Zimuel, Chris Tankersley и Massimiliano Arione с секретарём Buster Neece.
- Ближайшие мероприятия:
• Киев, 29 января: OroMeetupDev #17: PHP Integrations
• Санкт-Петербург, 31 января: 1й BeerPHP-митап
• Йошкар-Ола, 1 февраля: Второй PHP Meetup
• Минск, 6 февраля: PHP of By #32
• Москва, 15 февраля: Badoo PHP Meetup #4. Легаси
• PHP Russia 2020 — Конференция пройдёт 13 мая в Инфопространстве (Москва). Приём заявок на доклады открыт и подготовка идёт полным ходом. Два доклада уже приняли и скоро анонсируем ещё одного очень крутого спикера. Билеты можно купить по минимальной цене до 31 января.
• skyeng/php-communities — Открытый список PHP-событий, спикеров и организаторов.
PHP Internals
- [RFC] Add Stringable interface — Предлагается в PHP 8 добавить новый интерфейс
Stringable
, который можно будет добавить к классам, реализующим метод__toString()
. И тогда использовать объединённый тип string|Stringable где предполагается строка.interface Stringable { public function __toString(): string; }
Инструменты
- cycle/orm 1.2 — ORM, которую можно использовать и как DataMapper и в стиле ActiveRecord. В последнем релизе скорость работы увеличена на 33% и судя по бенчмаркам, теперь это одна из самых быстрых ORM.
- BenMorel/weakmap-polyfill — Полифил WeakMap для PHP 7.4.
- lisachenko/z-engine — Экспериментальная библиотека, которая позволяет используя FFI получить доступ к внутренним структурам самого PHP. Добавлены крутые примеры использования, например, реализация перегрузки операторов на PHP и даже модификация AST на лету.
Symfony
- История поиска проблем производительности в приложении на Symfony, часть 2.
- Выдавайте пользователям конкретные права, а не роли.
- Неделя Symfony #682 (20-26 января 2020)
Laravel
- pavel-mironchik/laravel-backup-panel — Веб-интерфейс к spatie/laravel-backup. Позволяет в браузере управлять бекапами. Прислал mironchikpavel.
- avto-dev/roadrunner-laravel — Новая версия RoadRunner воркера для Laravel. Теперь по умолчанию без пересоздания инстанса приложения и с возможностью расширения, используя событийную систему фреймворка. Прислал paramtamtam.
- laravelpackage.com — Подробное руководство по созданию Laravel-пакетов.
- Об аутентификации и laravel/airlock.
- Контейнеризация Laravel 6 приложения для разработки с помощью Docker Compose на Ubuntu 18.04.
- Список фич ожидающихся в Laravel 7.0, который будет представлен на Laracon Online.
- Советы по упрощению контроллеров Laravel
- Пошаговое руководство по настройке Laravel 6 в Google Cloud Run с непрерывной интеграцией
Yii
- Новости Yii 2020, выпуск 1 — Обновления Yii 1.1, Yii 2, интересное в Yii 3.
Zend / Laminas
Материалы для обучения
- PHP в 2020 — Обзор состояния языка и экосистемы.
- Состояние PHP 8 — Когда выйдет и что в него войдёт.
- Мои настройки PhpStorm после 8 лет использования.
- Бенчмарк (и рекомендации) предзагрузки PHP 7.4 на Symfony приложении от Tobias Nyholm.
- PHP микро оптимизация: if ($var) VS !empty($var) — Немного о том как сравнивать генерируемые опкоды, чтоб понять почему тот или иной код быстрее в PHP.
- Ещё одна история оптимизации приложения с помощью Blackfire.io.
- Как ускорить подсчёт покрытия на Travis на 95% — Использовать в качестве драйвера phpdbg или pcov, а не Xdebug.
- Сергей Протько «Солидный код» — Расшифровка доклада с PHP fwdays'17.
- Правила работы с динамическими массивами и пользовательскими классами коллекций
- Как выглядит zip-архив и что мы с этим можем сделать, Часть 2 — Data Descriptor и сжатие, Часть 3 — Практическое применение, Часть 4 — Чтение архива.
- PHPUnit. «Как мне протестировать мой чёртов контроллер», или тестирование для сомневающихся.
- Чистые тесты на PHP и PHPUnit.
Аудио/Видео
- The Undercover ElePHPant #6 — О плюсах и минусах shared-nothing архитектуры PHP, а также о серверлесс с Mathieu Napoli.
- Видеозаписи Laracon AU 2019
- Видеозаписи Scotland PHP 2019
- Вводный туториал по Slim Framework
- Вебинар «Автоматизация тестирования при помощи Codeception»
- Видеозаписи с SymСode St. Petersburg Meetup #8 — Кирилл Смелов (JetBrains) – Вывод типов в PhpStorm, Антон Жуков (ManyChat) – Железобетонный бэкенд.
Занимательное
- Расшифровка подкастов Тейлора — Как в одиночку запустить продукт, если вы разработчик: Часть 1: Аудитория, Часть 2: Поиск идеи, Часть 3: Не сдаваться.
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.
Telegram-канал: PHP Digest.
Прислать ссылку
Поиск ссылок по всем дайджестам
< Предыдущий выпуск: PHP-Дайджест № 172
Mellorn
Спасибо.