Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Приятного чтения!
Новости и релизы
- Стала доступна PHP 5.5.0 beta1 — Наконец-то споры по поводу включения Optimizer+ в PHP утихли и эпопея с альфа релизами подошла к концу. Команда разработчиков представила первую бета версию, в которую включен OPCache (ранее известный как Zend Optimizer+). Кроме того была добавлена новая функция array_column , а в цикле foreach реализована поддержка нескалярных ключей. Полный список изменений доступен тут, также имеется инструкция по обновлению до версии 5.5, которая включает описание всех изменений, и удобная сводка нововведений в PHP 5.5 со ссылками на соответствующие RFC. Если вы желаете помочь в тестировании свежей версии, то рекомендуем ознакомиться с вот этим постом. Выход следующей беты запланирован на 4ое апреля.
- Вышли в свет PHP 5.4.13 и PHP 5.3.23 — Исправлен ряд ошибок, в том числе безопасности. Полный список изменений тут.
- PHP 5.3 стала самой популярной версией — Согласно отчету от W3 Techs, спустя 3 с половиной года после выхода, версия PHP 5.3 обошла по популярности версию 5.2. Поддержка последней, как известно, приостановлена еще в 2010. И не смотря на то, что с релизом 5.5 будет приостановлена и поддержка версии 5.3, актуальная 5.4 используется лишь на 3% сайтов. В комментариях также подметили, что согласно статистике установок Wordpress для этой CMS версия PHP 5.2 все еще лидирует с 60%. Что ж, посмотрим как изменится динамика с выходом 5.5.
PHP
- О тонкостях работы foreach в PHP — Перевод отличного ответа на StackOverflow. Рекомендуется к прочтению всем и каждому.
- 26 способов показать что PHP может быть еще лучше — В статье автор приводит большой список возможностей, которых не хватает в PHP. И для каждой такой возможности приводит ссылки на существующие реализации.
- Встречаем аrray_column() из PHP 5.5 — Автор поста является и автором этой самой функции. А в своей небольшой заметке рассказывает об истории функции (изначально она была написана для PHP 5.2), а затем приводит примеры использования.
Материалы для обучения
- Шаблон программирования «Текучий интерфейс» в PHP. Свежий взгляд — Отличный хабрапост, в котором описан способ реализации паттерна «Текучий интерфейс» (цепочки вызовов а-ля jQuery) в аспектном стиле с использованием библиотеки автора Go! AOP.
- Подходите ответственно к выбору требований для вашего PHP-пакета — Автор этого отличного поста призывает разработчиков пакетов быть ответственнее и не указывать в требованиях (не использовать) PHP 5.4, если единственной применяемой возможностью из 5.4 является короткий синтаксис массивов. PHP 5.4 это больше чем просто []. Короткий синтаксис массивов сделает всего лишь немного красивее ваш код, который 90% пользователей даже не увидит. Пусть выбор версии остается за пользователем вашего пакета.
- New Relic для PHP: Мониторинг производительности веб-приложений — New Relic продолжает свою агрессивную PR-кампанию, поэтому вряд ли найдется разработчик не слышавший о них. Пост представляет собой небольшой туториал по использованию данного сервиса и содержит инструкции по установке и настройке необходимого расширения на сервере, а также обзор возможностей сервиса.
- Расширяем Iterator чтобы сделать код чище — Небольшой пост, в котором автор демонстрирует отличную идею — расширение Итератора. Вместо слов просто взгляните на приведенный автором пример.
- Используем новый OPCache из PHP 5.5 — Небольшая заметка, о том как начать использовать кэширование опкода в PHP.
- Управление PHP-проектами — Не смотря на заголовок пост содержит общие и не специфичные лишь для PHP рекомендации по управлению проектами. Если коротко: будьте конкретны, будьте приятны, будьте гибкими, и надейтесь на лучшее.
- Первые серьезные попытки использования PHPUnit, Composer, и Omniture API — В своем посте автор делится уроками, которые он вынес из опыта разработки в стиле TDD.
- Некоторые мысли об использовании array_* с замыканиями — В посте автор аргументирует в пользу применения замыканий в функциях array_* и приводит примеры сортировки / отображения / фильтрации.
- Управляем роем (тестов) с помощью Codeception — Хороший туториал по использованию отличного инструмента тестирования. Автор рекомендует использовать Codeception для координации всех тестов, так как он может управлять PHPUnit и Selenium тестами, а также генерировать отчеты о покрытии.
- Посмотри, никаких баз данных — В посте речь идет о модульном тестировании и использовании mock-объекта для PDO.
- 10 полезных PHP-сниппетов — Хозяйке на заметку: маленькие, но полезные кусочки кода.
- От Java к PHP — Не очень часто встретишь разработчиков перешедших с Java на PHP, однако автор поста как раз столкнулся с такими и делится рекомендациями и советами для них по миграции на PHP.
- Pro Workflow in Laravel and Sublime Text — Статья о том как рационализировать рабочий процесс при создании приложений на фреймворке Laravel в популярном редакторе Sublime Text. На примерах продемонстрировано создание ресурсов, работа с командами Artisan, миграциями.
- Практические аспекты шаблона проектирования Адаптер — Автор поста кратко раскрывает суть паттерна Адаптер, описывает принципы его эффективного использования. Кроме того продемонстрированы примеры плохого и хорошего использования данного шаблона.
- Mocking with Phake — Туториал, в котором продемонстрировано использование mock-объектов в Phake, инструменте модульного тестирования несколько отличающегося от встроенной реализации mock в PHPUnit и Mockery. Более подробно о Phake можно прочитать тут.
- The Wheel: Symfony Console — Небольшой обзор компонента Symfony Console с его плюсами и минусами. Также имеется хабрапост об использовании компонента.
- 5 причин почему стандарты кодирования важны — Еще один пост, в котором говорится о необходимости соблюдения стандартов кодирования.
- Интеграция поискового движка Solr в PHP-приложениях — Популярным решением при выборе поискового движка является, конечно же. Sphinx. Другим возможным решение может быть Solr от Apache. Пост как раз представляет собой пошаговое вводное руководство с примерами по использованию Solr для реализации полнотекстового поиска. Также имеется заметка об использовании Solr с Drupal.
- Всегда возвращайте значение — В первом посте автор высказывает мнение о том, что методы и функции в большинстве случаев должны возвращать какое-либо не null значение. После резкой критики в комментариях, автор признал, что не совсем прав и опубликовал продолжение, в котором пишет, что хотя и существует множество случаев когда возвращать null вполне приемлемо и необходимо, но также существуют случаи когда разработчики позволяют возвращать null в то время как этого не следует делать.
- Авторизация через Twitter в Silex-приложении — Автор реализовал простой компонент авторизации через Твиттер и приводит пример использования.
- Dater — определяет часовой пояс, локализует и форматирует дату-время в PHP — По ссылке хабрапост с более подробным описанием и примерами использования библиотеки автора. Исходники на GitHub.
- Видеозаписи докладов с Laracon — Не так давно прошла первая конференция Laracon посвященная фреймворку Laravel. По ссылке три отличных доклада: об истории, принципах и философии фреймворка, о тестировании в Laravel 4, и полный разбор цикла обработки запроса в Laravel.
- Крутые PHP-библиотеки — Огромный список отличных библиотек и утилит, а также ресурсов по PHP на все случаи жизни.
Ссылка на предыдущий выпуск.