
Свежая подборка со ссылками на новости и материалы. В выпуске: Zend Expressive 3 и другие релизы, пара улучшений в PHP 7.3, порция полезных инструментов, и многое другое.
Приятного чтения!
 Новости и релизы
- PHP 7.2.3
 - PHP 7.1.15
 - PHP 7.0.28
 - PHP 5.6.34
 - Zend Expressive 3 — PHP 7.1+, тайп-хинты, поддержка PSR-15, множество новых компонентов и другие улучшения.
 - Php Inspections (EA Extended) v3.0.0 — Мастхэв расширение для PhpStorm, существенно дополняющее возможности статического анализа кода. В новой версии пачка улучшений и дополнительных проверок.
 - Codeception 2.4
 - nikic/PHP-Parser 4.0.0 — Обновление парсера PHP на PHP. Много улучшение, в том числе добавлена возможность сохранять форматирование кусков кода которые не были изменены, что позволяет использовать парсер для автоматического рефакторинга.
 - Доля WordPress среди крупнейших сайтов достигла 30%
 
 Приглашаем на Badoo PHP Meetup 7 апреля
 Tutu PHP Meetup #1
 PHP
- В ветке PHP 7.3 реализовано значительное улучшение сборщика мусора
 - [RFC] is_countable — В PHP 7.3 добавлена функция для проверки на перечислимость.
До:if (is_array($foo) || $foo instanceof Countable) { // $foo is countable }
После:if (is_countable($foo)) { // $foo is countable } 
 Инструменты
- implode.io — Отличный аналог JSFiddle только для PHP.
 - avantarm/memcached-emulator — Эмулятор расширения Memcached, работает напрямую с сервером через сокеты. Заменяет оригинальный класс \Memcached и работает под Windows. Прислал @avantarm.
 - Brunty/cigar — Утилита для быстрого «дымового» тестирования веб-приложений.
 - hamburgscleanest/guzzle-advanced-throttle — Расширение для Guzzle, которое позволяет лимитировать запросы по различным правилам
 - san-kumar/lambdaphp — Быстрый хостинг простых сайтов на AWS Lambda.
 - eventsauce.io — Библиотека для реализации Event Sourcing в PHP-приложениях.
 - reisraff/phulp — Порт Gulp на PHP.
 - koriym/print_o — Визуализация графа объектов в виде мыслекарты.
 - hoaproject/Kitab — Инструмент позволяет добавлять юнит-тесты прямо в докблок секции к функции, а-ля doctest в Python.
 - wapmorgan/SystemDaemon — База для создания системных демонов.
 - wapmorgan/Threadable — Библиотека для легкого распараллеливания работы.
 
 Материалы для обучения
 Symfony
- Неделя Symfony #585 (12-18 марта 2018)
 - Неделя Symfony #586 (19-25 марта 2018)
 
 Тестируем маршрутизатор Symfony 4.1
 Yii
- Новый официальный сайт Yii
 
 Релиз Yii 2.0.15 и расширений баз данных с исправленными уязвимостями- Yii development notes #21
 - Yii 2.1 Early Access
 
 Laravel
 LarrockCMS — новая CMS на основе Laravel
 А как вы работаете с Laravel?- spatie/laravel-medialibrary 7.0-7.1.2 — Обновление популярной библиотеки для привязки файлов к моделям.
 - Laravel снова в поисках разработчика на багфикс для фреймворка и компонентов, и работу над новыми фичами.
 - Мутаторы и аксессоры в Eloquent ORM
 - Вопросы и ответы для собеседования по Laravel
 
 Zend
- Неделя Zend Framework 2018-03-01
 - Неделя Zend Framework 2018-03-16
 - Хотите асинхронный Zend Expressive? Попробуйте связку с Swoole — wshafer/swoole-expressive
 
Async PHP
- clue/php-mq-react — Легковесная in-memory очередь сообщений на ReactPHP. Пост от автора в поддержку.
 - friends-of-reactphp/mysql v0.3.0 — Асинхронный клиент MySQL.
 - Работаем с файловой системой в ReactPHP
 - Использование роутера с компонентом Http из ReactPHP
 - Быстрый Web-парсинг с помощью ReactPHP: лимитирование запросов
 
CMS
- Как Automattic (WordPress.com & co.) частично перешел на atoum вместо PHPUnit
 - Domain-Driven Design — Repository
 - Чатбот для Facebook с помощью BotMan
 
 Видео докладов с phpCE 2017
 Исчерпывающие бенчмарки PHP 5.6, 7.0, 7.1, 7.2 и HHVM (2018) — Оригинал.
 Ошибочное понимание принципа DRY
 Функциональное программирование с PHP-генераторами
 Опыт перехода проекта на phalcon с php 5.6 на 7.1
 code-basics.ru — Бесплатные практические уроки по программированию для тех, кто начинает с нуля.
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.
 
Прислать ссылку
 Поиск ссылок по всем дайджестам
 < Предыдущий выпуск: PHP-Дайджест № 126
Комментарии (10)

gro
26.03.2018 11:52is_countable, да давайте, вместо того, чтобы нормально переработать интерфейсы и совместить их с массивами, будем плодить ещё кучу глобальных функций.
is_array_access и is_traversable не хватает.
anurbol
26.03.2018 13:28Да, было бы лучше если бы массивы по умолчанию были бы экземпляром Интерфейса Countable. Но это требует переработки всего движка PHP.
          
 
Finesse
Лучший JSFiddle для PHP, который я видел — 3v4l. В отличие от Implode.io он запускает код сразу во всех версиях PHP и показывает дополнительную информацию, например, время выполнения в разных версиях PHP.
sydorenko-vd
Я всегда использую onlinephpfunctions, он быстро работает, это критично, когда нужно небольшой участок кода быстро где-то запустить.
ellrion
Implode.io крут для пользователей Laravel фреймворка.