Предлагаем вашему вниманию очередную подборку актуальных новостей, интересных материалов и полезных инструментов.
Приятного чтения!
Новости и релизы
PHP 5.6.0alpha2 — Второй плановый альфа-релиз с оператором возведения в степень ** и другими изменениями на борту.
Laravel Envoy — Вышел в свет инструмент управления SSH-задачами для PHP. Аналог Fabric из Python-мира. Подробнее об использовании смотрите в скринкасте по Envoy .
Pimple 2.0 — Вышла в свет вторая версия DI-контейнера от создателя Symfony.
Codeception 2.0 alpha — Обзор новых возможностей второй версии замечательного фреймворка для тестирования.
PHP
RFC: Combined Comparison Operator — Предлагается добавить новый оператор (expr) <=> (expr), который возвращает 0, если операнды равны, 1 если левый операнд больше, и -1 если больше правый.
RFC: No php tags — Предложение сделать открывающийся тег <?php необязательным. Самому предложению уже почти два года, но, возможно, теперь оно будет внедрено.
Идеи для PHP 6 — Тем временем в php.internals активным образом обсуждается PHP5++. Общее видение оформлено в виде отдельной страницы на официальном сайте. Также рассматриваются варианты реализации поддержки юникода.
Инструменты
cebe/markdown — Самый быстрый на данный момент markdown-парсер, что подтверждает бенчмарк.
Uniter — PHP-интерпретатор реализованный на JavaScript. PHP в браузере? Легко!
Archer — Библиотека для стандартизации процессов модульного тестирования, непрерывной интеграции, а также документирования используя подход convention-over-configuration.
Resty.php — Простая библиотека для создания RESTful клиентов. Не требует curl.
PHP-DI — Dependency Injection контейнер для людей.
Dater — Отличная библиотека для работы с датой/временем и временными зонами в PHP.
WhatTheWhat PHP — В случае возникновения исключения, библиотека автоматически найдет в сети информацию о возникшей ошибке и выведет ее вместе со стеком вызовов. Клон пайтоновского What the What.
PH7 — Embedded реализация PHP.
Кстати, есть идея сделать подробный обзор всех альтернативных реализаций PHP: Parrot, PH7, Phalanger, Quercus, QB и других. Интересна ли эта тема?
Материалы для обучения
Быстрый роутинг запросов с помощью регулярных выражений — Никита Попов провел очень интересное исследование существующих реализаций роутинга, в частности, библиотеки Pux, которая должна быть сверхпроизводительной, так как реализована в том числе в виде расширения на C. Однако, выяснилось, что благодаря правильным алгоритмам высокой производительности можно достичь средствами PHP. Результат оформлен в виде библиотеки FastRoute, производительность которой выше C-расширения Pux.
Взгляд на HACK — замену PHP в HHVM, 2 — По сути HACK — это PHP6, разрабатываемый в недрах Facebook, то есть попытка решить существующие проблемы в PHP и добавить новые возможности. На данный момент последняя версия HHVM уже поддерживает HACK, поэтому после прочтения этих статей вы можете опробовать его возможности, например, статическую типизацию.
Magento и HHVM — Интересный пост с краткими инструкциями по установке и настройке HHVM для работы с Magento, и, конечно, тест производительности на закуску.
Необычный способ организации вызова PHP-бэкдора — Выявлен заслуживающий внимания PHP-бэкдор, активация которого производится без видимого обращения к таким функциям, как eval, exec, system, assert и preg_replace.
Простая сборка виртуальных машин с помощью PuPHPet — Кстати, в PuPHPet была добавлена поддержка HHVM. Также о преимуществах использования виртуальных дев-машин можно почитать тут .
Если для провизионирования вам больше нравится Ansible, а не Puppet, то можно использовать инструмент Phansible.