PHP-Дайджест № 150 (11 – 25 февраля 2019)

exqptjdtm6znzqfkmlfsfgabobq.jpeg

Свежая подборка со ссылками на новости и материалы. В выпуске: изменены правила голосования за RFC в PHP Internals, стартовал прием заявок на доклады для PHP Russia 2019, новое расширение для реализации параллельного исполнения кода, свежие материалы для обучения, видео, порция полезных инструментов, и многое другое.

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


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


  • PHP Russia 2019 — Уже известен первый звездный докладчик, которого мы скоро объявим. А пока полным ходом идет прием заявок на доклады. До 25 февраля билеты на конференцию можно купить по самой выгодной цене.
  • 16 марта Вadoo PHP Meetup: тесты и качество кода. Регистрация открыта


c9ee7880391644e4aef6cc28ca681ab0.png PHP Internals


  • Предложение отменить 50% порог при голосовании принято и отныне все RFC требуют большинства в 2/3 голосов.
  • PEAR по умолчанию не будет устанавливаться начиная с PHP 7.4.
  • Отличный обзор непринятых RFC — Почему дженерики, короткие лямбды, перегрузка методов, аннотации и т.д. так и не реализованы и какой прогноз.
  • Автор Xdebug Derick Rethans рассказывает о небольшом баге в PHP <7.3.2


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


  • krakjoe/parallel — Новое расширение от автора pthreads с упрощенным интерфейсом для параллельного (многопоточного) исполнения кода. Подробнее о мотивах создания расширения в посте.
  • willdurand/hateoas 3.0 — Популярная библиотека и бандл для реализации HATEOAS в REST сервисах.
  • 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. Вводный пост с обзором в поддержку.


96b65e92179a40f2bd1884549973ddd5.png Symfony


  • jorge07/symfony-4-es-cqrs-boilerplate — Скелет приложения на Symfony 4 с использованием практик DDD, Event Sourcing, CQRS.
  • Новое в Symfony Flex 1.2
  • Неделя Symfony #634 (18–24 февраля 2019)


314bd0f0dfc54e3fa7f0c0daef1a2d25.png Laravel


  • drfraker/snipe-migrations — Ускоритель миграций БД для тестов в Laravel.
  • ben182/laravel-ab — Инструмент для A/B тестирования в приложениях на Laravel.
  • Серверсайд рендеринг Vue.js компонентов в Laravel приложении
  • Как использовать паттерн «репозиторий» в Laravel
  • Вопросы и ответы для собеседования по Laravel
  • videoPHP Package Development — Курс по разработке пакетов для Laravel и PHP.
  • video Laravel Core Adventures: Как устроены фасады
  • video Подкаст от Тейлора Laravel Snippet #6


Async PHP


  • Создание RESTful API с помощью ReactPHP и MySQL


CMS


  • 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-приложений


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


  • Руководство по обновлению PHPUnit до 8 версии от Sebastian Bergmann
  • Как я геймифицировал модульные тесты для моего PHP-фреймворка и увеличил покрытие с 0 до 93% за 30 дней.
  • Новые возможности .phpstorm.meta.php в PhpStorm 2019.1
  • Как написать свой простой AI для игры в шахматы на PHP
  • Уход от магии или почему я больше не хочу использовать Laravel
  • PhpRedis vs Predis: сравнение на реальных продакшн данных.
  • Что такое командная шина и почему ее следует использовать
  • Паттерны проектирования на PHP — Обновлены в соответствии с PHP 7.3 + есть примеры из реальной жизни, а не только модельные.
  • habr PHP для начинающих: Подключение файлов
  • habr PHP для начинающих: Обработка ошибок
  • ruvideoИнтервью с Романом Павлушко, одним из первых инженеров Avito — О технической стороне проекта: стеке, архитектуре, проблемах роста, команде и PHP.


cc24d9c95c9841988f8299a8b285e6f6.png Занимательное


  • jaem3l/php1-docker-image — Docker-образ с PHP 1.0.8. В тему немного воспоминаний от Ларри Гарфилда о том, каким был PHP 20 лет назад.

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

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

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

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

© Habrahabr.ru