Дайджест PHP #17
Свежая подборка со ссылками на новости и материалы. В выпуске: Будущее PHP RFC из PHP Internals о повышении производительности, порция полезных инструментов, и многое другое.
Новости и релизы
- PHP 7.3.0RC4 — Ожидается еще 2-3 релиз-кандидата и уже 6 декабря финальный выпуск PHP 7.3.
- Будущее Zend Engine и Zend Framework
- Анализ ситуации. Зеев Сураски объявил об уходе из Rogue Wave, которая в 2015 году поглотила Zend. Вместе с Зеевом уходят Matthew Weier O’Phinneyи Enrico Zimuel, которые занимались Zend Framework, Zend Expressive, Apigility, а также Дмитрий Стогов.
PHP Internals
- [RFC] Preloading — Концепт от Дмитрия Стогова оформлен в полноценный RFC. Предлагаетcя сделать возможным загружать файлы предварительно до обработки запросов. Все загруженные таким образом классы и функции будут перманентно доступны в контексте последующих запросов без необходимости инклудить. Кроме прироста производительности, такая возможность открывает пути для дальнейшей оптимизации.
- [RFC] Improve openssl_random_pseudo_bytes() — Функция
openssl_random_pseudo_bytes()
может неочевидным образом выдавать небезопасную случайную последовательность. Предлагается в этом случае бросать исключение.
Инструменты
- spiral/php-grpc — Высокопроизводительный сервер GRPC на базе spiral/roadrunner. Поддерживает запуск PHP и Golang сервисов в рамках одного приложения.
- spatie/value-object — Объект-значение с дополнительными хелперами.
- cebe/php-openapi — Инструмент читает OpenAPI файлы с описанием сервисов в удобные для работы объекты PHP.
- makasim/php-fpm-queue — Позволяет использовать php-fpm как простую асинхронную очередь. Подробнее об идее в посте.
- php-pds/skeleton — Годная попытка реализовать стандарт по структуре пакетов PHP.
- adsr/phpspy — Легковесный сэмплирующий профайлер для PHP 7. Не требует запуска расширения, а присоединяется к уже запущенному процессу PHP.
- NoiseByNorthwest/php-spx — Простой, но интересный профайлер для PHP с UI из коробки. Демо.
Материалы для обучения
- Symfony 4.2: Важные возможности, которые объявлены устаревшими
- yemiwebby/symfony-hackathon-starter — Шаблонное приложение на Symfony для быстрого создания прототипов.
- Yii development notes #25
- Мультиязычные деревья в Yii2 на примере создания модуля меню
- Laravel Telescope — Еще один инструмент в экосистеме Laravel. На этот раз расширенная отладочная панель. Подробный обзор.
Вам действительно нужны entrust или laravel-permission для реализации вашей авторизации? - Разворачиваем Laravel с помощью Kubernetes
- Прагматичный WHERE LIKE поиск по Eloquent моделям
- nuwave/lighthouse — GraphQL для Laravel. Под капотом использует webonyx/graphql-php.
- concurrent-php/psr-http — Асинхронный HTTP-клиент отвечающий PSR-стандартам.
- amphp/parallel 1.0.0 — Компонент из семейства Amp для параллельного выполнения PHP процессов с поддержкой синхронизации, общей памяти и другими возможностями.
- clue/reactphp-buzz 2.5 — Простой в использовании асинхронный HTTP-клиент.
- M6Web/Tornado — Еще один асинхронный движок для PHP со своей реализацией Event Loop и с адаптерами для ReactPHP и Amp.
- Асинхронный Zend Expressive с помощью Swoole
- Управляем параллелизмом: промисы, генераторы, корутины
- Туториал ReactPHP #13: Асинхронное скачивание
- Magento Tech Digest #34: Oct 8 – 22, 2018
- WordPress 5.0 Beta 1 — Новый редактор Gutenberg, новая тема, и другие улучшения.
- Сравнительный и подробный анализ плагинов кеширования для WordPress
- Подключение PhpStorm tasks к Битрикс24
- Обновите ваш PHP — Подборка причин и фактов, почему нужно обновиться до свежей версии PHP.
- Организация по доменам — Структурирование большой кодовой базы с помощью DDD.
- О разнице между array_merge и оператором + для массивов
- Christopher Pitt автор книги об асинхронном PHP, а также препроцессора для PHP preprocess.ioпишет о создании блога с помощью препроцессора и JSX-подобного синтаксиса.
- Автоматизация с Codeception + Gherkin + PageObject для самых маленьких
- Статический анализ PHP-кода на примере PHPStan, Phan и Psalm
- PHP Roundtable #79: GDPR для PHP разработчиков
Спасибо за внимание!
Источник: https://habr.com/company/zfort/blog/428045/