Дайджест PHP #9
В выпуске: PHP 7.3.0 alpha 3, PHPStan 0.10, Yii 1.1.20 и другие релизы, свежее предложение из PHP Internals по сравнению объектов, порция полезных инструментов, и многое другое.
Приятного чтения!
[sendpulse-form id=”278″]
Новости и релизы
- PHP 7.3.0 alpha 3 — Последний альфа-релиз перед «заморозкой фич». Beta 1 запланирована на 19 июля. Впрочем, даты могут сдвинуться, если будет принято решение включить типизированные свойства в 7.3.
 - PHP 7.1.19
 
PHP Internals
- PHP 8: чего ждать. Письмо Зеева Сураски
 - Демо производительности PHP 7.0 vs JIT PoC для генерации фракталов
 - [RFC] Class Friendship — Стартовало голосование по добавлению дружественных классов. Дружественный класс имеет доступ к private и protected полям класса, в котором он объявлен дружественным.
 - [RFC] User-defined object comparison — В документе рассмотрены проблемы сравнения объектов в PHP. Предлагается добавить два новых магических метода: 
__compareToи__equals. - dstogov/php-tensorflow — Благодаря реализации FFI, станет возможным делать легковесные биндинги для сторонних библиотек. В качестве примера Дмитрий Стогов демонстрирует обертку над TensorFlow.
 
Инструменты
- PHPStan 0.10 — Мощный статический анализатор для PHP. Онлайн-песочница для проверки кода.
 - sebastianfeldmann/phpbu — Инструмент для создания резервных копий файлов и баз данных. Умеет шифровать бэкапы и отправлять в хранилища.
 - leviy/release-tool — CLI-инструмент для релиза новых версий продуктов.
 - mediact/dependency-guard — Инструмент покажет неиспользуемые composer-зависимости. А также те, которые используются в коде, но установлены как dev-зависимости.
 - Imangazaliev/DiDOM — Простая и быстрая библиотека для парсинга HTML. Свежий туториал.
 
Материалы для обучения
- Yii 1.1.20
 - Yii development notes #23 — Команда фреймворка разыскивает контрибьюторов:
• Релиз-менеджера, который бы помог планировать релизы, а также писать анонсы релизов и планов на будущее;
• Мейнтейнеров для ревью и мерджа пул-реквестов;
• Мейнтейнеров официальных расширений;
• Core-разработчиков для работы над новыми версиями фреймворка. - Yii 2.0 Part 19 — REST APIs
 - beyondcode/laravel-self-diagnosis — Пакет для диагностики Laravel-приложения с десятком проверок из коробки.
 - beyondcode/laravel-er-diagram-generator — Генерирует диаграмму отношений ваших моделей с помощью GraphViz.
 - mpociot/laravel-testtools — Расширение для Chrome, которое сгенерирует интеграционные тесты для веб-приложения на Laravel пока вы просматриваете его в браузере.
 - Создание собственного API-интерфейса {JSON: API} средствами Laravel
 - DotKernel3 1.0 — Первая стабильная версия набора PSR-7 middleware компонентов для Zend Expressive.
 - reactphp/dns v0.4.15 — Добавлена поддержка IPv6.
 - Введение в ReactPHP
 - Критическая уязвимость в WordPress — Дыра позволяла удалить любой файл в инсталляции WP. Уязвимы все версии <4.9.6. Ошибка исправлена в 4.9.7
 - Руководство по безопасности WordPress
 - Magento Tech Digest #22: June 27 – July 2, 2018
 - Phpdbg намного быстрее Xdebug для подсчета покрытия
 - PHP-окружение с помощью Docker-Сompose с нуля
 - Простой IOT-девайс с помощью PHP и Raspberry Pi Zero W
 - Как скомпилировать и пощупать нерелизнутый RFC — Быстро попробовать потенциальные возможности из RFC можно в 3v4l.org.
 - Безопасное хранение учётных данных в PHP
 - PHP-DataGen — генератор PHP классов со строго-типизированными свойствами
 - Аспектно-ориентированное программирование на PHP
 - Расширение PHP и Kotlin Native. Часть первая, наивная
 - Code Basics: бесплатные практические уроки для новичков
 - Zeev Suraski — To PHP 7 and beyond — Об эволюции производительности PHP и планах на будущее.
 - Забавный тред на Reddit о странных задачах, которые пользователи решали с помощью PHP