После небольшого перерыва PHP-дайджест снова в деле! Вашему вниманию подборка со ссылками на новости и материалы.
Приятного чтения!
Новости и релизы
PHPNG — Разработчики представили интерпретатор PHP нового поколения. А все началось с сообщения Дмитрия Стогова в php.internals и соответствующей ветки в репозитории. Анализе работы интерпретатора при выполнении реальных приложений показал, что проблема производительности кроется в методах работы с памятью и организацией хранения структур данных. Именно поэтому PHPNG представляет собой оптимизированный Zend Engine, в котором реализованы новые структуры данных. Проведенный рефакторинг уже позволил увеличить производительность на 10-30% в реальных приложениях. Вероятно, PHPNG ляжет в основу PHP 5++, а пока это лишь начало и проект развивается очень динамично.
Подробнее о PHPNG можно услышать из первых уст в докладе автора на предстоящей конференции DevConf 2014 – «Отдай свой PHP на прокачку — PHPNG — движок нового поколения» .
Бета релизы PHP 5.6.0: beta 2 и beta 3 — Обновления содержат всего лишь набор исправлений, а значит, финального релиза осталось ждать совсем недолго. Тем не менее ожидается еще одна бета и пара-тройка релиз-кандидатов, а пока можно ознакомиться со списком новых возможностей или посмотреть десятиминутный ролик с их демонстрацией.
Релизы PHP: 5.5.12, 5.5.13, 5.4.28, 5.4.29 — Регулярные обновления актуальных веток интерпретатора. Содержат ряд исправления в том числе проблем безопасности, как, например, уязвимость PHP-FPM, позволяющая локальному пользователю, имеющему доступ к UNIX-сокету php-fpm, по умолчанию создаваемому с правами 0666, выполнить произвольный PHP-код с правами работающего пула процессов FastCGI.
Новый PHP на Heroku — На популярнейшей облачной платформе Heroku была добавлена поддержка HHVM и соответственно Hack.
Apigility 1.0.0 — Первый стабильный релиз инструмента автоматического создания RESTful-приложений на основе Zend Framework 2.
Laravel Forge — На прошедшей недавно конференции Laracon автором фреймворка Laravel был представлен инструмент Forge, который сам Тейлор охарактеризовал как «PHP-платформа мгновенного приготовления в облаке на ваш выбор». Forge позволяет в считанные минуты развернуть приложение с Nginx 1.6, PHP 5.5, MySQL/Postgres, Redis, Memcached, Beanstalk на любом популярном облачном хостинге. Доступны расширения для Forge, туториалы, а также серия подробных скринкастов по использованию Forge . За удобство придется заплатить 10 $ в месяц.
DevConf 2014 — Напомню, что уже через две недели в Москве состоится масштабная конференция, посвященная веб-разработке. Секция PHP радует интересными докладами о phpng, Yii 2, Laravel, AOP, Codeception.
RFC: loop_else — Предложение добавить возможность использовать в циклах else-блок, который будет выполняться в случае, если условие цикла не выполняется ни разу, то есть при невхождении в тело цикла.
RequirePHP — Внедрение зависимости а-ля RequireJS.
Karma — Инструмент командной строки для управления конфигурациями окружений.
BowerPHP — Хотите иметь возможность использовать менеджер зависимостей Bower, но при этом не устанавливать node.js? BowerPHP как раз создан для таких случаев.
Dora — Генератор форм с рядом полезных возможностей.
JIT-Fu — PHP-расширение, предоставляющее JIT-интерфейс для PHP на основе libjit.
Pomander — Еще один PHP-инструмент для развертывания приложений.
rss-bridge — Фид для сайтов у которых его нет: Twitter, GoogleSearch, Instagram, Pinterest и другие.
Monga — Простой и быстрой слой абстракции для работы с MongoDB.
glip — Git-библиотека для PHP, позволяет осуществлять доступ к репозиторию из PHP даже без установленного Git.
atoum — Простой современный фреймворк модульного тестирования для PHP.
TimeTraveler — Инструмент позволяет задавать текущую дату вручную, соответствующим образом менять результат всех последующих вызовов функций работы с датой временем.
Материалы для обучения
Задушите ваши API вызовы: RateLimitBundle — Автор реализовал бандл для Symfony RateLimitBundle, который позволяет ограничить число вызовов метода API, указав параметр в аннотации @ratelimit к контроллеру или экшну. В посте об особенностях реализации, плюсах и минусах решения.
Сообщество Hack — С момента официального релиза Hack прошлом совсем немного времени, а уже формируется сообщество и специфические инструменты, как, например, фреймворки BeatBox и hack-mvc
Опасный getimagesize() или Zip Bomb для PHP — Небольшой обзор уязвимости в распространённом движке фотогалереи на PHP и о том, как можно положить любой сайт, использующий getimagesize(), с помощью бородатой zip-бомбы (или пета-бомбы).