Дайджест интересных новостей и материалов из мира PHP за последние две недели (6—20 октября 2013)
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Новости и релизы
- Apigility — На прошедшей недавно конференции ZendCon был представлен инструмент Apigility, который позволяет в мгновение создавать приложения реализующие REST API на Zend Framework 2. Обещают также интеграцию с Zephir, что даст возможность пользователям улучшить производительность API, созданных с помощью Apigility.
Доступна видеодемонстрация , а также пара постов с первыми впечатлениями и комментариями: Исследуя Apigility, Тестируем Apigility. - PHP 5.5.5 — Представлено обновление последней ветки интерпретатора. Кроме ряда исправлений релиз также включает в себя обновление OPCache: добавлена функция opcache_compile_file, которая позволяет загружать файл в кэш без его непосредственного выполнения.
- PHP 5.4.21 — Обновилась также ветка 5.4. Релиз содержит десяток исправлений.
- Поддержка PHP в Google App Engine! — В мае этого года на Google I/O была анонсирована поддержка PHP в App Engine, и вот теперь данная возможность доступна всем пользователям без ограничений.
- Symfony CMF 1.0.0 — Вышла в свет долгожданная первая стабильная версия Symfony CMF. Подробный взгляд тут .
- HHVM 2.2.0 — Новая версия виртуальной машины для PHP от Facebook. Теперь HHVM доступен в виде пакетов для популярных дистрибутивов Linux. Кроме этого релиз включает массу изменений и может похвастаться поддержкой большинства популярных PHP-фреймворков.
- Codeception 1.7 — Свежий релиз замечательного инструмента для тестирования с модулем WebDriver на борту.
PHP
- PSR-2 и CodeSniffer — история успеха — К стандартам PSR теперь стало возможным добавление поправок и разъяснений. И первая поправка для PSR-2 уже была внесена. В посте о том, откуда появилась такая идея, как принималось решение и что это дало.
- RFC: Expectations — Предложение заменить текущую реализацию assert() на улучшенную — expect.Кстати, предложение по анонимным классам было отклонено, а по вложенным — пока отозвано.
Инструменты
- appserver — Многопоточный сервер приложений для PHP на PHP. Также доступно свежее интервью с создателями.
- Clockwork — Расширение для браузера Chrome, добавляющее вкладку с отладочной информацией по PHP в Developer Tools.
- PlacePhant — Используйте PHP-слонов в качестве placeholder-изображений.
- Requests — Удобная библиотека для выполнения HTTP-запросов.
- atoum — Неплохая альтернатива PHPUnit для реализации модульного тестирования на PHP.
- Piwik — Хотите свой инструмент статистики а-ля Google Analytics? Попробуйте Piwik.
Материалы для обучения
- Active Record против Data Mapper — Небольшое сравнение двух популярных паттернов проектирования для работы с данными, достоинства и недостатки каждого.
- Используем веб-сокеты на PHP — Пример создания небольшого приложения с использованием библиотеки Ratchet.
- Создаем веб-приложение на Symfony 2: Bootstrapping — Первый пост из серии туториалов по созданию приложения на фреймворке Symfony 2. В первой части о начальной установке, а также немного о конфигурации роутов и базы данных.
- Внедрение репозиториев в сервисы на Symfony2 — Заметка о том, как внедряя отдельный репозиторий вместо всего EntityManager, можно сделать код приложения на Symfony2 + Doctrine лучше.
- Автодополнение множества параметров — В случае, когда функция принимает множество параметров, удобно объединить их в массив, но тогда теряются подсказки от IDE. В качестве решения автор предлагает использовать цепочки методов.
- Использование Event Dispatcher в Silex-приложении — Небольшая заметка с примером использования компонента.
- Трюки и хитрости PHPUnit — Несколько полезных рекомендаций по тестированию с помощью PHPUnit.
- Автозагрузка против объединения классов в один файл — Небольшой тест двух подходов к подключению классов.
- Адаптивные изображения с помощью Picturefill и PHP — Туториал по использованию Picturefill на примере простого приложения с фреймворком Slim и расширением ImageMagick.
- Шардирование с помощью MySQL Fabric — Небольшой туториал по использованию недавно вышедшего инструмента MySQL Fabric для реализации шардирования в вашем PHP-приложении. Подробнее о MySQL Fabric можно прочитать тут.
- OAuth Middleware для Slim — Пример реализации middleware-компонента для фреймворка Slim.
- Как заранее подгружать ACL для повышения производительности — Автор делится идеей, которая позволяет повысить производительность Symfony2-приложения.
- Введение в Redbean — Туториал по использованию легковесной ORM-библиотеки для PHP.
- Обзор Symfony2-компонентов: Routing — Продолжение серии небольших постов о базовых компонентах из Symfony2. Ранее уже были: HttpFoundation и HttpKernel.
- О ContainerAware — «ContainerAware — это новый синглтон» — пишет автор. Он считает внедрение DI-контейнера и, в частности, использование интерфейса ContainerAware в Symfony 2, плохой практикой и излагает аргументы в поддержку своего мнения.
- Sublime Text и джедайство — Используем Sublime в качестве IDE для PHP-разработки.
- Виртуализируйте ваше стек с помощью Vagrant и Puppet — Подробный видеотуториал по использованию Vagrant и Puppet.
- Zephir — создавайте PHP-расширения без знаний C — Обзорный пост о новом языке, разрабатываемом командой Phalcon.
- Создаем модуль для Drupal 7 — Туториал по созданию модуля с нуля.
- Personal Maps — Большая серия статей, в которых описан весь цикл создания полноценного веб-приложения с нуля. Используются Yii Framework и Angular JS.
- Развертывание Symfony2 на Engine Yard — В продолжение поста о развертывании PHP-приложений на популярном PaaS-хостинге.
- Composer — ускоренный курс — Коротко о Composer для тех, кто еще не пробовал.
- Laravel 4: Пакеты — Продолжение серии туториалов по Laravel 4. Ранее уже было об аутентификации, Access Control List, развертывании и об API.
- Rails-подобная консоль для PHP — Автор описал способ запуска интерактивного режима PHP с загруженным приложением. Достаточно использовать директиву auto_prepend_file. Примеры для Magento и WordPress прилагаются.
- Нам нужно замыкание — Подробное разъяснение того, что же такое замыкание, как и когда их использовать в PHP.
- Пентест WordPress своими руками — Небольшая инструкция по исследованию WordPress-сайтов на предмет безопасности.
- Drupal 8 — революционные изменения — Обзор нововведений грядущей версии Drupal.
- Laravel. Установка, настройка, создание и деплой приложения — Огромный исчерпывающий туториал по использованию фреймворка Laravel.
- Деобфускация бэкдора без единого буквенно-цифрового символа — Подробный разбор того самого шелла. Браво!
- Кэшинг пакетов для Composer — Вкратце о настройке локального кэша пакетов.
- Phalcon PHP фрейморк. Работа с аннотациями
- Regenix: Новый нестандартный MVC фреймворк для PHP — Описание особенностей фреймворка испытавшего влияние Play! framework и языка Java.
Материалы c прошедших конференций
- Laracon EU 2013 — Видеозаписи докладов с прошедшей в Амстердаме конференции, посвященной фреймворку Laravel.
- ZendCon 2013 — В первой половине октября состоялась крупнейшая PHP-конференция. Доступны слайды 56 докладов,видеозаписи , а также отчет одного из участников.
- PHPNW 2013 — Слайды 31 доклада с прошедшей в Манчестере конференции.
- PHP Frameworks Day — Доступны материалы и видеозаписи докладов с прошедшей в Киеве конференции. Также имеются отчеты участников тут, тут и тут.
Интересное
- Интервью с создательницами PHPWomen — Не так давно была создана исключительно женская группа пользователей PHP — PHPWomen. По ссылке интервью с создательницами, а также комментарии от мужчин.
- Перестаньте делать вид, что PHP хороший язык — Автор призывает признать очевидные, по его мнению, недостатки PHP.
- Подкаст: «Elephant in the Room» — В списке подкастов по PHP пополнение: Константин Кудряшов (создатель Behat, Mink и phpspec2) и Mathias Verraes записали первый выпуск.
- Глаголы в именах классов — Автор делится соображениями о том, как использование естественного языка в именах классов может быть полезным.
- PHP в твите — Подборка PHP-инструментов, код которых умещается в одном твите. Например микрофреймворк µ. Присоединяетесь к игре!
- Исходный код Facebook за август 2007 — Код index.php и search.php когда-то просочившиеся в сеть.
Автор: Роман Понский