Дайджест интересных новостей и материалов из мира 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 прошедших конференций Аудио и видеоматериалы Занимательное Быстрый поиск по всем дайджестам← Предыдущий выпуск
Только зарегистрированные пользователи могут оставлять комментарии.Войдите, пожалуйста.