Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.2.0 Alpha 1, свежие предложения из PHP Internals, Symfony 3.3.0, Yii 1.1.19 и 2.0.12, нововведния Laravel 5.5, спор о Visual Debt и многое другое. Приятного чтения!
Новости и релизы
- PHP 7.2.0 Alpha 1 — Доступна для тестирования первая альфа-версия новой ветки PHP. Стартовал полугодовой цикл тестирования, финальный выпуск ожидается в ноябре.
Уже по традиции в релизе улучшена производительность. А также среди изменений:
- Libsodium в ядре
- Эмуляции подготовленных выражений
- Множество функций объявлены устаревшими
- Тайпхинт object
- Расширение типа аргумента
- Присвоение по ссылке в list()
- PHP 7.0.20
- PHP 7.1.6
- WordPress 4.8 “Evans”
- HHVM 3.20 — Улучшена совместимость с PHP 7, и начиная с 3.20.2 заявлена успешная работа с Composer. Тем не менее все крупные PHP-проекты уже отказались от поддержки HHVM из-за низкой популярности.
- PHP Odessa Conf — 25 июня пройдет Первая PHP-конференция в Одессе. Среди докладчиков Jordi Boggiano, James Titcumb, и другие.
- DevConf 2017 — 17 июня, Москва — Программа сформирована, в секции Backend несколько докладов посвящены PHP.
PHP
- Короткий синтаксис для анонимных функций — В Internals активно обсуждается возможная реализация коротких лямбд. Ранее рассматривался и был отклонен на голосовании синтаксис с тильдой:
$x ~> $x + 1;
, а также^($x) => $x + $y
. На данный момент рассматриваются следующие возможные варианты:
fn(params) => expr function(params) => expr (params) ==> expr (params) => expr [](params) => expr
- Включить PCS в ядро — Предложение для PHP 7.3 пока не оформленное в официальный RFC. PCS — это модуль, который позволяет писать расширения для PHP на PHP и С одновременно. Подробнее о PCS. Включение такой возможности в ядро позволит переписать многие расширения на PHP. Это, в свою очередь, позволит сильно упростить код, уменьшить число багов, и увеличить количество потенциальных ментейнеров.
Инструменты
- reactphp/http v0.7.0 — HTTP/HTTPS сервер на базе ReactPHP.
- hollodotme/fast-cgi-client — FactCGI клиент для отправки (а)синхронных запросов в PHP-FPM. Слайды, примеры использования с Redis и с RabbitMQ.
- samdark/hydrator — Извлечение данных и заполнение данными объектов. Пост в поддержку.
- phunkie/phunkie — Набор структур для функционального программирования на PHP. Туториал в поддержку.
- gilbitron/sqsd — Демон эмулирует работу Amazon SQSD на локальной машине.
- formapro/pvm — Библиотека для описания схемы процесса (workflow). Поддерживает асинхронные переходы и параллельное выполнение задач.
- Composercat — Десктопное GUI приложение для Composer.
- php-enqueue/enqueue-dev — Очередь сообщений с поддержкой транспортов AMQP (RabbitMQ, ActiveMQ), STOMP, Amazon SQS, Redis, Doctrine DBAL, Filesystem.
Материалы для обучения
Symfony
- Symfony 3.3.0 — Список изменений по категориям.
- Symfony Async EventDispatcher
- Подборка ресурсов для подготовки к сертификации по Symfony
- ЧПУ (SEF URLs) в Symfony 3 — автогенерация slug, настройка и маршрутизация
- Неделя Symfony #544 (29 мая — 4 июня 2017)
- Неделя Symfony #545 (5-11 июня 2017)
Yii
Laravel
- monicahq/monica — Приложение для ведения журнала активностей и сохранений информации о друзьях и семье.
- Интервью с Taylor Otwell
- Кастомные правила валидации в Laravel 5.5
- Авторегистрация пакетов Laravel 5.5 — Благодаря секции extra в composer.json, при подключении сторонних пакетов не будет необходимости вручную указывать провайдеры или фасады.
- Diving Laravel — Туториалы по фреймворку.
Zend
- Zend Framework и PHP 7.1 — Вслед за другими фреймворками ZF переходит на семерку, а также прекращает поддержку HHVM. Новые версии существующих компонентов и новые компоненты будут выходить под 7.1.
- Неделя Zend Framework 2017-06-01
- Неделя Zend Framework 2017-06-08
- Слайды доклада Никиты Попова о статической оптимизаци байткода PHP
- PHP Internals Book — Книга, посвященная внутренностям PHP 5, доступна под лицензией Creative Commons. Текст пополняется информацией о PHP 7.
- Сканер отпечатков пальцев с помощью PHP, Websocket, и React Native
- Асинхронный PHP с помощью ReactPHP: Event Loop и таймеры
- Пример использования блокировок в консольной команде
- Как не надо делать Dependency Injection
- Туториал по PSR-7 с помощью Zend Diactoros
- Перенос констант в ассоциативные массивы
- История одного лендинга
- Методы работы с «тяжёлыми» XML
- Тестирование с Сodeception для чайников: 3 вида тестов
- Как выбрать тот самый PHP-фреймворк. Сравнительное тестирование
- Как получить оффер в Badoo в день собеседования. Часть вторая, для PHP-разработчика
Занимательное
- joaoescribano/UltimaPHP — Сервер популярной некогда игры Ultima Online на PHP.
- 6 файлов, которые являются валидным PHP — GIF, PDF, JPG, которые можно выполнить как PHP.
- Тайпхинты и интерфейсы — визуальный шум? — Jeffrey Way опубликовал видео, в котором рекомендует удалить тайпхинты, интерфейс, и объявление final, называя их визуальным шумом. На что получил ряд критических ответов, например тут, тут, и тут. Энтузиасты даже создали специальный инструмент статического анализа для поиска «визуального шума» — phpvisualdebt.
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.
Прислать ссылку
Быстрый поиск по всем дайджестам
← Предыдущий выпуск: PHP-Дайджест № 109