Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Новости и релизы
- Предложен новый PSR-стандарт: HTTP Middleware — На данный момент существует множество реализаций Middleware компонентов для PHP, однако общего интерфейса нет. Был предложен интерфейс middleware аналогичный используемому во фреймворке Slim, а также в Relay. В Laravel и StackPHP используется несколько другой подход. Энтони Феррара в своем посте привел ряд аргументов против предложенного интерфейса, и даже оформил свою версию в виде пакета Tari-PHP. Также интересен ответ автора предложения на этот пост.
- DevConf::PHP 2016 — заканчивается финальное голосование по докладам секции, успей отдать свой голос до 31 мая
- Приглашаем на Symfony Moscow Meetup 2 июня
- PHP 5.5.36, 5.6.22, 7.0.7 — Обновления безопасности для актуальных веток. Исправлено несколько уязвимостей в ядре, а также в GD и Intl.
- Silex v2.0.0 — Полный список изменений.
PHP
- RFC: Fix inconsistent behavior of $this variable — Предлагается убрать возможность использования $this в конструкциях с непредсказуемым поведением:
и другие.// Запретить использование в качестве имени параметра function foo($this) { } // Запретить использование в качестве статической переменной static $this; // Запретить использование как глобальной переменной global $this; // Запретить использование в качестве переменной исключения в catch try { ... } catch (Exception $this) { // Fatal error: Cannot re-assign $this } // Запретить использование в foreach foreach ($a as $this) { } // Запретить использование в unset() unset($this); // Запретить обращение через $$ $a = "this"; $$a = 42;
Инструменты
- nazar-pc/stream-slicer — Простой инструмент для получения срезов потоков (ресурсов). Присал nazarpc.
- nazar-pc/phpt-tests-runner — Запускалка для PHPT тестов: улучшенный формат файлов, цветной результат в терминале. Прислал nazarpc.
- giorgiosironi/eris — Property-based тестирование на PHP.
- spatie/packagist-api — Обертка для работы с API Packagist. Пост в поддержку.
- phpfmt/fmt — Расширенный форматер кода с плагинами для Sublime, Vim, PhpStorm.
- clue/php-redis-react — Асинхронный клиент для Redis.
- krzysztof-gzocha/searcher — Билдер поисковых запросов, которые не зависят от хранилища и могут выполняться как на MySQL, так и на MongoDB и над файлами.
- Tolerance/Tolerance — Библиотека для реализации отказоустойчивых сервисов.
- reisraff/phulp — Менеджер задач — Gulp для PHP.
- Nicolab/php-ftp-client — Гибкий FTP-клиент для PHP.
- robmorgan/phinx — Популярная библиотека миграций для БД. Туториал по использованию.
- dunglas/phpdoc-to-typehint — Инструмент под PHP 7 для преобразования типов из PhpDoc в нативные тайпхинты.
- defuse/php-encryption — Безопасная библиотека для шифрования. Пост об изменениях в версии 2.0.
Материалы для обучения
Symfony
- symfony-bundles/queue-bundle — Бандл позволяющий работать с очередью хранящий данные в Redis. Прислал khaperets.
- symfony-bundles/bundle-dependency — Позволяет регистрировать «зависимости» для вашего бандла. Прислал khaperets.
- symfony-bundles/event-queue-bundle — Бандл для управления очередью событий, хранящихся в Redis. Прислал khaperets.
- Создание блога на Symfony 2.8 lts, Часть 2
Yii
- axiles89/yii2-sharding — Компонент для работы Active Record моделей c шардированной базой данных.
- axiles89/yii2-coordinator — Координатор для шардинга в Yii 2.
- DevConf:: Хакатон по Yii в ТАСС 18-19 июля 2016
- DevConf 2016: Интервью с одним из разработчиков Yii
Laravel
- Приемочное тестирование Laravel + Vue.js приложения
- Настройка Laravel relationships — подсчет комментариев (вольный перевод)
- Обзор изменений в PHP 7.1
- Введение в тестирование с помощью Codeception
- Обнаружение различий в изображениях с помощью PHP
- Перeусложнение контейнеров служб в PHP — Автор описывает упрощенный подход к реализации сервис-контейнера.
- Динамическое внедрение зависимостей
- Введение в локализацию с помощью Php-Intl, Локализация дат, валют, чисел с помощью Php-Intl
- Единая аутентификация между socket.io и PHP
- Тестирование нагрузки на сайт
-
Никогда не используйте NULL - Структуризация проекта в WordPress, Laravel Blade и не только
- Websocket в продакшене
- Dependency Injection контейнер от PHPixie
- PHP, статические переменные внутри методов класса и история одного бага
- Многопоточные вычисления в PHP: pthreads
- Неизменяемые объекты в PHP
Занимательное
- sgolemon/table-flip —
if ($situation === SHIT::HAPPENED) {(╯°□°)╯︵┻━┻(); }
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.
Присылайте ссылки на интересные статьи или полезные инструменты, которых не было в PHP-Дайджестах, и ваше имя будет рядом с присланной ссылкой в выпуске.
Прислать ссылку
Быстрый поиск по всем дайджестам
← Предыдущий выпуск: PHP-Дайджест № 85