
Свежая подборка со ссылками на новости и материалы. В выпуске: 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
