Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4.0 beta 4, о судьбе P++, видео, подкасты, анонсы митапов и конференций, порция полезных инструментов, и многое другое.
Приятного чтения!
Новости и релизы
- PHP 7.4.0 beta 4 — Последняя бета в цикле. Почему-то пропустили не было Beta 3? Следующим релизом станет RC 1, который ожидается 5 сентября.
- 21 сентября Badoo PHP Meetup #3: производительность
- CODEiD – PHP Odessa Conf #6 — 14 и 15 сентября, Одесса. Среди докладчиков Marco Pivetta, Sebastian Feldmann и другие. Для читателей PHP-Дайджеста промокод со скидкой 10%: PHPDIGEST_R.
PHP Internals
- Straw poll for P++ feasibility — Больше двух недель назад Зеев Сураски вынес на обсуждение провокационную идею создать новый язык на базе PHP под кодовым названием P++. В ответ было множество споров в Internals и не только, отличный обзор истории PHP и нюансов, а также пост о том, почему P++ плохая идея с нетехнической точки зрения.
Кто-то даже предложил сделать P-- – упрощённый PHP времён PHP 5.0, ну или P=== – просто оставить как есть.
К счастью, пока всё не зашло слишком далеко, Derick Rethans (автор Xdebug) запустил голосование с одним простым вопросом: Осуществима ли идея P++ в принципе? Всё сообщество PHP Internals единогласно проголосовало против, неожиданно включая самого Зеева. На этом идею можно P++ можно забыть. - [RFC] Deprecate short open tags, again — Множество контрибьюторов высказались против удаления коротких тегов из PHP в обозримой перспективе, и повторное голосование не преодолело необходимый порог. Итого короткие теги останутся ещё на 5+ лет.
- [PoC] throw_legacy_failure declare statement — Интересный PR в PHP с концептом переделки всех встроенных функций, с тем чтобы они бросали исключения вместо возращения
false
/null
. Данная возможность включается указанием директивыdeclare(throw_legacy_failure=1)
.
Инструменты
- drupol/collection — Легковесный пакет для работы с коллекциями, вдохновлённый illuminate/support и lazy.js.
- quasilyte/phpgrep — Инструмент для поиска по PHP-коду – как grep, только с «пониманием» синтаксиса PHP. Реализован на Golang и вдохновлён mvdan/gogrep. Аналог SSR в PhpStorm.
- voku/portable-utf8 — Библиотека для работы с UTF-8 строками без зависимостей от расширений типа mbstring или iconv.
- jasny/switch-route — PHP-разработчики никогда не писали роутеры /s и вот один реализован на основе switch-конструкций. Бенчмарки.
- franzose/gimme-url — Генератор ссылок для thephpleague/route. Прислал franzose.
- brick/varexporter — Альтернатива стандартной
var_export()
с возможностью экспорта замыканий и объектов без вывода__set_state()
. - ivopetkov/html5-dom-document-php — Улучшенный парсер HTML5. Расширяет и дополняет оригинальный DOMDocument.
Symfony
- symfony-bundles/kafka-bundle — Symfony Bundle для удобной работы с Kafka и быстрого создания консьюмеров. Прислал khaperets.
- Неделя Symfony #660 (19-25 августа 2019)
Laravel
- glhd/aire — Билдер форм для Laravel.
- inertiajs/inertia-laravel — Пакет позволяет писать SPA-приложения с React и Vue.js, используя при этом обычные контроллеры. Принцип работы.
- Laravel vs Lumen — Что использовать?
- Ошибки панели администрирования или опыт разработки Laravel Orchid
- Кеширование в Laravel: основы плюс tips&tricks
- Видеозаписи всех докладов Laracon US 2019
Yii
Async PHP
- Пишем RESTful API с помощью ReactPHP: Улучшаем HTTP-ответы
- apisearch-io/symfony-async-kernel — Асинхронное ядро для Symfony на базе промисов ReactPHP. Демо-приложение: apisearch-io/symfony-react-demo.
Материалы для обучения
- От LAMP к serverless: опыт переноса externals.io.
- Быстрый обзор Slim 4
- Разбор SQLi и PHP Object Injection уязвимостей в SuiteCRM
- Перестаньте использовать DateTime
- Альтернативный подход к подписке на события, или а так ли нужен EventObject
Аудио/Видео
- Профилируем PHP-приложения с помощью Blackfire.io
- PHP Panda Meetup в Skyeng
- PHP Internals News #23 — С George Banyard ещё раз о коротких тэгах.
- PHP Internals News #24 — Со Станисловам Малышевым о применении фаззинга для тестирования PHP.
- SDCast и Пятиминутка PHP: Интервью с разработчиками PhpStorm.
- Пятиминутка PHP: DDD #2 — Документация и коммуникация
- Пятиминутка PHP: DDD #3 — Layered Architecture — Третий выпуск Пятиминутки DDD про изоляцию предметной области и многоуровневую архитектуру.
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.
Больше новостей и комментариев в Telegram-канале PHP Digest.
Прислать ссылку
Поиск ссылок по всем дайджестам
← Предыдущий выпуск: PHP-Дайджест № 162
Автор: Роман Пронский