Дайджест интересных новостей и материалов из мира PHP (06.05.2013 — 21.05.2013)
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Новости и релизы
- Вышел в свет Zend Framework 2.2.0 — Релиз принес несколько нововведений, как, например, динамические DDL-запросы и массу улучшений.
- Google App Engine теперь поддерживает PHP — Две недели назад это был всего лишь слух, но к счастью информация подтвердилась. Сначала появился пост в блоге разработчиков, а затем в рамках Google I/O прошла презентация, запись которой можно посмотреть тут.
Итак, в облачном PaaS-хостинге от Google реализована поддержка PHP. Интерпретатор окружения основан на PHP 5.4 (phpinfo), однако доступ к файловой системе на запись запрещен — предполагается использование Google Cloud Storage. Имеется также ряд других ограничений.
Кроме того, JetBrains тут же анонсировали поддержку Google App Engine в PHPStorm. И даже имеется небольшой примериспользования GAE c Silex. - Доступен PHP 5.5.0RC1 — Как и было обещано ранее, 9 мая команда разработчиков PHP анонсировала выход первого релиз-кандидата. 23 мая запланирован RC2 и затем уже финальный релиз.
- Релизы актуальных веток: PHP 5.4.15 и PHP 5.3.25 — Как обычно имеем ряд исправлений, и всем пользователям рекомендуется обновиться.
- Майский выпуск журнала Web & PHP — В этом выпуске раскрыты следующие темы: Путешествие во времени с помощью Git; Использование PHPCR; Практические советы по созданию сообществ разработчиков; Моделирование данных; О спринт ретроспективах и другие.
- PuPHPet — графический онлайн конфигуратор Puppet & Vagrant — Отличный инструмент, который позволяет задать все необходимые параметры виртуальной рабочей машины: ОС, устанавливаемые пакеты, конфигурацию Apache, PHP, MySQL, а на выходе получить готовый конфиг для Vagrant и поднять рабочую станцию одной командой. Код инструмента доступен на GitHub.
PHP
- Инструменты статического анализа кода для PHP — Отличный обзор доступных для PHP инструментов статического анализа, среди которых как уже привычные Mess Detector и Code Sniffer, так и менее известный PHP Analyzer, а также набор инструментов от Facebook — Pfff.
- Хак синтаксиса PHP — Хабраперевод хорошего туториала, упомянутого в прошлом выпуске. На небольшом примере показано, как можно с минимальными знаниями C изменить синтаксис языка. Применив небольшой хак Zend Engine, автор меняет синтаксис объявления класса.
- PHP создан, чтобы умирать — Хороший хабраперевод статьи, в которой автор отстаивает точку зрения о несостоятельности PHP в случае, когда скрипт должен работать долго и непрерывно.
- Функциональное программирование — как писать функциональный код на PHP — О функциональном программировании на PHP уже было написано тут и тут . Добавим к списку еще и этот небольшой пост.
- Типажи и анонимные функции в PHP. Кря-кря! — Отличный хабрапост, в котором на примере продемонстрировано, собственно, использование трейтов вместе с анонимными функциями.
Материалы для обучения
- Новые возможности PHP 5.5 — Если вы не следили за новостями по PHP 5.5, то ознакомьтесь со слайдами от Julien Pauli, релиз-менеджера этой версии .
- Обзор Yii 2.0 — Публичное превью Yii 2 вызвало огромный интерес у сообщества, который был удовлетворен целым рядом постов. По ссылке отличный обзор новых возможностей и отличий от Yii 1.1. Кроме того, ранее был опубликован не менее отличный хабрапост Yii2. Знакомство .
- Zend Framework 2 — гидраторы, модели TableGateway — В посте автор пишет о том, как, используя обозначенные компоненты в ZF2, можно сделать модели полностью независимыми от источника данных
- PHP Framework Bluz. Обновление — Отличный PHP-микрофреймворк, в котором использованы все последние возможности языка и учтены лучшие практики разработки.
- Вебинары от Zend — На сайте Zend всегда доступны записи прошедших вебинаров, например о создании компонентов служб на ZF2.
- Как писать тестируемый и легко поддерживаемый код на PHP — Хороший туториал, в котором на простом примере показано, чего следует избегать и наоборот, что следует обязательно применять в коде для того, чтобы сделать возможным написание модульных тестов, а значит сделать код надежным.
- WebSocket (Sec-WebSocket-Version: 13) — тонкости реализации, в частности на PHP — Хабрапост, в котором автор описал проблемы и трудности возникшие при реализации вебсокет-сервера на PHP.
- Раскрытие информации о проблемах безопасности в удобном формате — По мотивам обсуждений в PHP-FIG, автор пишет о том, что проблемы с безопасностью в компонентах и библиотеках должны быть обнародованы максимально быстро и в стандартизированной форме для того, чтоб сделать возможным централизованное хранение информации об уязвимостях и автоматизировать проверки, например, с помощью SensioLabs Security Checker.
- Приступая к PHP Zend Framework 2 для Oracle DB — В посте показано как изменить приложение из туториала по ZF2так, чтобы использовать базу данных Oracle в качестве хранилища.
- ZendService_Api — микрофреймворк для API-запросов в PHP — Микрофреймворком эту библиотеку сложно назвать, но, тем не менее, автор создал неплохой инструмент на основе компонентов ZF2, который можно использовать для «общения» с различными API.
- Компилируем PHP 5.5 с нуля — Хотите самую свежую версию PHP для вашей платформы? Следуйте инструкциям из поста, установите необходимые зависимости и скомпилируйте PHP самостоятельно.
- Улучшаем безопасность кукис сессий — В посте автор пишет о нескольких опциях конфигурации PHP (session.cookie_httponly, session.use_only_cookies, session.cookie_secure), которые позволят обезопасить сессии.
- Maven и PHP — Хороший туториал по использованию традиционного для Java-мира инструмента сборки в применении к PHP-проектам. В предыдущих выпусках дайджестов не раз упоминался также Phing — аналог Apache Ant, другого популярного Java-инструмента.
- Composer и PSR-0 — друзья, но не родственники — Отличный пост, в котором автор объясняет, что нет и не должно быть прямой связи между PSR-0 и Composer.
- Спецификация или тестирование: сравнение Behat и Codeception — Автор пишет о разнице между функциональным и приемочным тестированиями, а также о том, почему отдает предпочтение Codeception перед Behat.
- Наш провал как индустрии — Автор делает обзор текущей ситуации в веб-разработке, и утверждает что, не смотря на доступность самых разных и мощных как никогда инструментов, индустрия в целом мало направлена на разработку безопасных решений. А применяемый повсеместно подход перекладывания ответственности необходимо остановить. Будьте ответственны.
- Слайды: Behat и Прекрасные API — Собственно слайды вебинара о BDD и Behat (PDF), а также доклада о проектировании API (PDF).
- Boris — небольшой, но надежный REPL для php — Совсем недавно в дайджесте упоминался этот инструмент, на этот раз небольшой обзор в хабрапосте.
- Phalcon — земля обетованная для PHP? — Отвечая на скепсис Anthony Ferrara по поводу PECL-фреймворков, автор поста пишет, что PHP фреймворки вроде Phalcon могут действительно серьезно повлиять на ход «игры».
- Не избегайте регулярных выражений — Маленькая заметка о том, насколько использование регулярных выражений может быть удобным.
- Оффлайн обработка в PHP с помощью Advanced Queuing — Туториал по использованию сервиса очередей от Oracle.
- Используем grep для поиска уязвимостей в PHP-коде — В посте продемонстрирован способ нахождения простых уязвимостей в коде путем поиска потенциально опасных конструкций.
- Ответственные Silex-контроллеры — Автор поста создал небольшой компонент для Silex, который возвращает данные клиенту автоматически в том формате, в котором они были запрошены. Удобен для реализации API.
- Изучая Rails (ну, и Ruby) — Хабраперевод статьи, написанной опытным PHP-разработчиком, участником PHP-сообщества и докладчиком, который был вынужден изучить и использовать Ruby on Rails для одного из проектов. В своем посте он, как PHP-разработчик, делится полученным опытом и впечатлениями нового языка и фреймворка, указывая на различия и превосходства одного или другого.
- Разбираемся с дайджест аутентификацией — В посте описаны принципы дайджест аутентификации и приведен пример реализации на PHP.
- Еще немного о миграциях. Версия для PHP — Хабрапост с туториалом по Ruckusing — инструмент реализующий миграции на PHP. Напомню, что существует еще одна неплохая standalone-реализация миграций на PHP — Phinx.
- Google App Engine, PHP и Silex. Устанавливаем Login Provider — Не успели Google анонсировать поддержку PHP в GAE, как уже подоспел небольшой пример использования с микрофреймворком Silex.
- Создаем видеобиблиотеку с PHPixie — Хороший туториал по PHPixie — быстрому и легкому микрофреймворку.
- 5 причин почему война веб-платформ закончена: PHP победил с результатом 75% — говорит Google — В посте автор сначала делает обзор новой возможности от Google, затем приводит 5 причин, по которым считает PHP победителем в «войне веб-платформ». Также автор подмечает, что доминирование PHP не вечно, и призывает помнить, что языки — это всего лишь инструменты, а не религии.
- Все слайды с php[tek] 2013 — Сезон конференций в разгаре, и совсем недавно в Чикаго прошла четырехдневная конференция, полностью посвященная PHP. По ссылке слайды 42 докладов, представленных на этой конференции.
Ссылка на предыдущий выпуск
Источник: http://habrahabr.ru/
Автор: Роман Понский