Дайджест PHP #8
Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.3.0 Alpha 2, о планах на PHP 8.0, Typed Properties и другие RFC из PHP Internals, порция полезных инструментов, и многое другое.
Приятного чтения!
[sendpulse-form id=”278″]
Новости и релизы
- PHP 7.3.0 Alpha 2 — Второй плановый альфа-релиз с исправлениями ошибок. Полный список изменений ветки можно найти тут, а основные нововведения в прошлом выпуске дайджеста. Ожидается еще одна альфа и затем feature-freeze 17 июля.
Есть вероятность, что 7.3 станет последней веткой 7.* и следующим мажорным релизом будет PHP 8.0, в котором будут добавлены JIT, FFI, и, вероятно, возможности для реализации асинхронных и долгоживущих приложений. - PHP 7.2.7
PHP Internals
- [RFC]: Typed Properties 2.0 — Большое и очень детальное предложение от Никиты Попова и Bob Weinand по реализации типизированных свойств. Ранее уже была попытка реализовать данную возможность, но предложение не прошло порог в 2/3 голосов. В текущем документе адресованы 2 ключевые проблемы прошлой реализации: поддерживаются типы для статических свойств, и ссылки на типизированные свойства. Поэтому на этот раз есть все шансы пройти голосование. Соответствующий пул-реквест уже готов.
Открытым остается вопрос версии: на данный момент рассматривается PHP 7.3, но если возникнут трудности, то, возможно, будет отложено до 7.4 (8). - [RFC] Deprecate and Remove Case-Insensitive Constants — C помощью
define()
можно определить константу нечувствительную к регистру. Предлагается убрать данную возможность. - [RFC] Deprecate and remove continue targeting switch —
continue
внутриswitch
ведет себя какbreak
, хотя в других языках это не так. Предлагается исправить поведение. - strict switch — Sara Golemon в качестве идеи предложила реализовать строгий
switch
Инструменты
- spiral/roadrunner — Высокопроизводительный продакшн-реди сервер приложений, балансировщик нагрузки и менеджер процессов для PHP реализованный на Go.
- slince/spike — Реверс-прокси на PHP (ReactPHP) для раскрытия локальных проектов в публичный интернет. Аналог ngrok.io.
- spatie/async — Обертка над PCNTL для простого выполнения параллельных задач.
- RSS-Bridge/rss-bridge — RSS-фид для сайтов у которых его нет, из коробки 150+ адаптеров.
- DragonBe/hibp — Проверяет с помощью haveibeenpwned.com был ли скомпрометирован пароль.
- nunomaduro/collision — Крутые отчеты об ошибках для консольных приложений. Из коробки работает с Laravel, есть адаптер для Symfony.
- API-Skeletons/zf-doctrine-graphql — GraphQL для Doctrine с помощью гидраторов.
Материалы для обучения
- Shopkeeper 4.0 — Интернет-магазин на Symfony + Angular + MongoDB
- Серия статей Создание галлереи картинок и блога на Symfony Flex
- bizley/yii2-migration — Генерирует миграцию на основе текущего состояния базы и предыдущих миграций.
- gevorgmansuryan/yii2-router — Элегантное определение роутов для Yii2.
- Бесплатная книга по Yii 2
- tightenco/parental — Реализация STI Single Table Inheritance для Eloquent.
- tightenco/jigsaw — Генератор статических сайтов на основе шаблонизатора Blade.
- shipping-docker/vessel — Dev-окружение на Docker для Laravel.
- Breaking Laravel’s firstOrCreate using race conditions
- ReactPHP #8: Строки запросов
- О различных проблемах в реализации Dependency Injection
- Doctrine ORM и DDD агрегаты
- Сборка PHP-проектов на AWS CodeBuild
- Безопасное хранение и использование учетных данных в PHP-приложениях
- Компьютерное зрение и машинное обучение в PHP используя библиотеку opencv