Дайджест интересных новостей и материалов из мира PHP № 41 (май 2014)
сегодня в 02:53
После небольшого перерыва 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.
Доступна бета версия Mooha — нодового интерфейса для PHP — В прошлом году на Хабре был пост об интересном проекте Mooha, который по словам автора должен был стать визуальным конструктором PHP-приложений. Тестовая версия инструмента теперь доступна всем желающим.
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 $ в месяц.
Релиз Symfony 2.5.0 — Полный список изменений тут.
DevConf 2014 — Напомню, что уже через две недели в Москве состоится масштабная конференция, посвященная веб-разработке. Секция PHP радует интересными докладами о phpng, Yii 2, Laravel, AOP, Codeception.
PHP
RFC: Отлавливаемый «call to a member function of a non-object» — Реализация этого предложения позволит обрабатывать ошибки, а не генерировать фатальные, при вызове методов у null: $x = null; $x→method ();
RFC: loop_else — Предложение добавить возможность использовать в циклах else-блок, который будет выполняться в случае, если условие цикла не выполняется ни разу, то есть при невхождении в тело цикла.
Инструменты
Link — Хороший роутер для PHP.
RequirePHP — Внедрение зависимости а-ля RequireJS.
Karma — Инструмент командной строки для управления конфигурациями окружений.
BowerPHP — Хотите иметь возможность использовать менеджер зависимостей Bower, но при этом не устанавливать node.js? BowerPHP как раз создан для таких случаев.
Dora — Генератор форм с рядом полезных возможностей.
JIT-Fu — PHP-расширение, предоставляющее JIT-интерфейс для PHP на основе libjit.
Yandex Translate API — Оболочка для Яндекс.Перевод
Pomander — Еще один PHP-инструмент для развертывания приложений.
rss-bridge — Фид для сайтов у которых его нет: Twitter, GoogleSearch, Instagram, Pinterest и другие.
Monga — Простой и быстрой слой абстракции для работы с MongoDB.
glip — Git-библиотека для PHP, позволяет осуществлять доступ к репозиторию из PHP даже без установленного Git.
atoum — Простой современный фреймворк модульного тестирования для PHP.
TimeTraveler — Инструмент позволяет задавать текущую дату вручную, соответствующим образом менять результат всех последующих вызовов функций работы с датой временем.
Материалы для обучения
Задушите ваши API вызовы: RateLimitBundle — Автор реализовал бандл для Symfony RateLimitBundle, который позволяет ограничить число вызовов метода API, указав параметр в аннотации @ratelimit к контроллеру или экшну. В посте об особенностях реализации, плюсах и минусах решения.
Безопасно ли ваше OAuth 2.0 приложение — Немного о нашумевшей недавно уязвимости скрытого перенаправления (covert redirect) в OAuth и OpenID.
Аутентификация токеном в Silex-приложениях
Используем Solarium и SOLR для реализации полнотекстового поиска
Использование сессий в Zend Framework 2, ч.2 — Туториал для начинающих.
Использование Bats для тестирования инструментов командной строки — Не PHP, но интересный обзор инструмента тестирования Bats.
Как использовать интерфейс JsonSerializable
Введение в сессии в Symfony2
Рефакторинг легаси-кода: сложные условия
Управление аутентификацией в Composer — В популярном менеджере зависимостей была реализована возможность удобной работы с защищенными репозиториями.
IronMQ и Laravel — Туториал о реализации очереди задач.
Вскрываем Laravel: компоненты Session, Auth и Cache
Как использовать «yield» в PHP 5.5 — Немного о генераторах с примером.
Начинаем работать с Phpspec
PHPSpec и Magento — Как использовать SpecBDD-фреймворк для PHP совместно с Magento.
Magento: основы, цикл обработки запроса, стандарты и лучшие практики
Сообщество Hack — С момента официального релиза Hack прошлом совсем немного времени, а уже формируется сообщество и специфические инструменты, как, например, фреймворки BeatBox и hack-mvc
Временная сложность алгоритмов — Об оценке алгоритмов с примерами на PHP.
PHP и непрерывная интеграция с помощью Travis CI
Как использовать ZFTool Diagnostics, чтобы быть уверенным в работоспособности модулей на любом окружении
Обзор инструментов статического анализа PHP-кода — В посте рассмотрены: PHP_CodeSniffer, the PHP Mess Detector и PHP Copy & Paste Detector.
Модульное тестирование с помощью GuzzlePHP
Как писать модульные тесты для моделей в Phalcon
RESTful удаление, восстановление и ревизии — В посте автор рассматривает способы реализации нетривиальных методов в парадигме REST.
Реализация быстрого импорта из Excel на PHP
Ускоряем PHP (с ReactPHP)
Асинхронный Php extension для работы с бд Cassandra без Thrift
Правильный подход к использованию API Вконтакте
Бенчмарк 14 алгоритмов сортировки на массивах с разной размерностью и содержанием
Sypex Geo 2.2 — теперь с GeoNames и ОКАТО — Обзор новой версии очень быстрого алгоритма определения города по IP.
Создаём сайт, используя Laravel и Recurly. Часть 2
Введение в JadePHP — О PHP-шаблонизаторе JadePHP, порте популярного Javascript-движка Jade.
Отладка электронной почты при помощи MailCatcher — Более подробно использование MailCatcher рассмотрено в посте о тестировании электронной почты в PHP.
Опасный getimagesize () или Zip Bomb для PHP — Небольшой обзор уязвимости в распространённом движке фотогалереи на PHP и о том, как можно положить любой сайт, использующий getimagesize (), с помощью бородатой zip-бомбы (или пета-бомбы).
RESTful API на Yii framework с RBAC и тестами
Автодокументация мобильных веб-сервисов на примере Yii
25 Laravel Tips and Tricks
PHPCI: Система непрерывной интеграции для PHP-проектов
Пишем свою IDE со встроенным дизайнером интерфейсов на PHP и ExtJS
Материалы c прошедших конференций
Аудио и видеоматериалы
Занимательное
Быстрый поиск по всем дайджестам← Предыдущий выпуск
Только зарегистрированные пользователи могут оставлять комментарии.Войдите, пожалуйста.