Дайджест PHP #19
Свежая подборка со ссылками на новости и материалы мира PHP. В выпуске: изменены правила голосования за RFC в PHP Internals, новое расширение для реализации параллельного исполнения кода, свежие материалы для обучения, видео, порция полезных инструментов, и многое другое.
Приятного чтения!
PHP Internals
- Предложение отменить 50% порог при голосовании принято и отныне все RFC требуют большинства в 2/3 голосов.
- PEAR по умолчанию не будет устанавливаться начиная с PHP 7.4.
- Автор Xdebug Derick Rethans рассказывает о небольшом баге в PHP <7.3.2
Инструменты
- liip/serializer — Пакет для (де)сериализации данных. Совместим с jms/serializer и быстрее последнего. Подробнее о производительности в посте.
- TBPixel/xml-streamer — Пакет для потокового чтение XML-данных, совместим с PSR-7.
- phpstan/phpstan-doctrine — Расширение PHPStan для поддержки Doctrine ORM, включая анализ DQL.
- spatie/enum — Реализация перечисляемого типа и в поддержку пост об enum в PHP.
- kriswallsmith/Buzz — Легковесный HTTP-клиент.
- thecodingmachine/graphqlite — Еще один GraphQL фреймворк для PHP. Вводный пост с обзором в поддержку.
- jorge07/symfony-4-es-cqrs-boilerplate — Скелет приложения на Symfony 4 с использованием практик DDD, Event Sourcing, CQRS.
- drfraker/snipe-migrations — Ускоритель миграций БД для тестов в Laravel.
- ben182/laravel-ab — Инструмент для A/B тестирования в приложениях на Laravel.
Полезные материалы
- Новое в Symfony Flex 1.2
- Неделя Symfony #634 (18-24 февраля 2019)
- Серверсайд приложение с клиентсайд рендерингом с помощью Vue.js и Laravel
- Как использовать паттерн «репозиторий» в Laravel
- Вопросы и ответы для собеседования по Laravel
- PHP Package Development — Курс по разработке пакетов для Laravel и PHP.
- Laravel Core Adventures: Как устроены фасады
- Подкаст от Тейлора Laravel Snippet #6
- Создание RESTful API с помощью ReactPHP и MySQL
- WordPress 5.1 “Betty” — WP теперь будет предупреждать, если сайт работает на устаревшей версии PHP.
- Сравнение REST vs JSON:API vs GraphQL вообще и в контексте Drupal
- Magento Tech Digest #46
- Познавательный анализ RCE уязвимости в WordPress 5.0.0
- Критическая уязвимость в Drupal — Ошибка позволяет выполнить произвольный PHP код на сервере. Уязвимости присвоен наивысший уровень опасности. Пример эксплуатации.
- Обзор основных типов уязвимостей PHP-приложений
- Руководство по обновлению PHPUnit до 8 версии от Sebastian Bergmann
- Как я геймифицировал модульные тесты для моего PHP-фреймворка и увеличил покрытие с 0 до 93% за 30 дней.
- Новые возможности .phpstorm.meta.php в PhpStorm 2019.1
- Как написать свой простой AI для игры в шахматы на PHP
- Уход от магии или почему я больше не хочу использовать Laravel
- PhpRedis vs Predis: сравнение на реальных продакшн данных.
- Что такое командная шина и почему ее следует использовать
- Паттерны проектирования на PHP — Обновлены в соответствии с PHP 7.3 + есть примеры из реальной жизни, а не только модельные.
- PHP для начинающих: Подключение файлов
- PHP для начинающих: Обработка ошибок
- Интервью с Романом Павлушко, одним из первых инженеров Avito — О технической стороне проекта: стеке, архитектуре, проблемах роста, команде и PHP.
- jaem3l/php1-docker-image — Docker-образ с PHP 1.0.8. В тему немного воспоминаний от Ларри Гарфилда о том, каким был PHP 20 лет назад.
Спасибо за внимание!