![](https://habrastorage.org/storage2/3b2/256/aea/3b2256aeaa86e0a57fe75c0bdd86bc80.jpg)
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Приятного чтения!
Новости и релизы
- Индекс TIOBE: PHP восстанавливает позиции — Согласно недавно опубликованным данным по индексу популярности языков программирования TIOBE
, популярность PHP растет. За 2013 год именно PHP показал самый высокий показатель роста — 1.64%, и по сравнению с июлем прошлого года — 2.17%, что также самый высокий результат, и +2 пункта в рейтинге. Авторы связывают рост с выходом ZF2 в сентябре прошлого года, но, думаю, это не главная и не единственная причина.
- Вышел Phalcon 1.2.0 — Обновился самый быстрый PHP-фреймворк. Подробный список изменений доступен в анонсе беты.
- EllisLab ищет нового владельца для CodeIgniter
— Сразу после анонса релиза CodeIgniter 2.1.4, EllisLab объявили о том, что, по ряду причин, не в силах поддерживать фреймворк. Многие настроены скептически по отношению к будущему CodeIgniter и рассматривают альтернативы (Прощай CodeIgniter, здравствуй Laravel), но на данный момент CodeIgniter остается одним из самых популярных PHP-фреймворков, с наибольшим числом предложений по работе на фриланс-биржах.
- Fenom — yet another PHP template engine
— Этот «еще один шаблонизатор» на деле оказался совершенно замечательным инструментом — выигрывает в производительности у Twig и Smarty, при этом потребляет меньше памяти, а код компактнее. Браво!
- 3 года Behat — Популярному BDD-инструменту исполнилось 3 года и автор пишет о том, чего удалось достичь за это время и что планируется реализовать в ближайшем будущем.
- Вышел в свет Silex 1.1 — Обновился популярный микрофреймворк, построенный на компонентах Symfony. В релизе прекращена поддержка Symfony 2.1 и 2.2. Также имеется небольшой пост об интеграции Stack и Silex.
- Стартовала программа раннего доступа PHPStorm 7 — Напомню, что благодаря программе можно совершенно бесплатно и легально использовать бета-версии IDE, и, конечно же, первым попробовать все новые возможности.
- Опубликован черновик спецификации HTTP 2.0
— Новость, не имеющая непосредственного отношения к PHP, но всем веб-разработчикам обязательно следует ознакомиться со спецификацией, которая определит будущее веба.
- Релизы PHP 5.4.17 и PHP 5.3.27 — Если первый релиз представляет собой обычный набор исправлений, то второй примечателен тем, что стал последним регулярным релизом ветки 5.3. В течении года при необходимости будут выпускаться исправления ошибок безопасности, но в целом это закат эпохи 5.3.
- PHPCI — непрерывная интеграция для PHP-проектов — Бесплатный инструмент с открытым кодом, специально спроектированный для непрерывной интеграции PHP-приложений. Основной целью ставилась простота использования, поэтому, конечно же, это не Jenkins/TeamCity.
- Yii 1.1.14 RC
— Намечается массивный релиз актуальной ветки фреймворка. Пользователей ожидает множество изменений и новых возможностей.
PHP
- Участвуем в разработке ядра PHP — Если вы хотите присоединиться к числу контрибьюторов в ядро PHP, то данный пост будет отличной отправной точкой. Автор описал основные моменты, на которые стоит обратить внимание и кроме того опубликовал проект vagrant-php-src-dev, который позволяет одной командой поднять виртуальное окружение готовое к экспериментам над исходниками PHP.
- Динамические примеси в PHP
— В хабрапосте сделано детальное сравнение двух способов реализации примесей
в PHP стандартными средствами без использования расширений и трейтов.
- Получаем доступ к закрытым членам класса в PHP, не используя рефлексию — Автора не удовлетворила слишком низкая скорость работы ReflectionClass и ReflectionProperty, и он решил попробовать метод Closure::bind, использование которого показало результат заметно лучше.
- PHP 5.5: генераторы — Вдогонку к состоявшемуся релизу пост о новой возможности. Кроме обзора приведен пример использования генераторов в качестве провайдера данных в юнит-тестах. Напомню о хорошей демонстрации эффективности генераторов, а также небольшая библиотека от Никиты Попова, в которой итеративные функции вроде
map()
иfilter()
реализованы с помощью генераторов.
Материалы для обучения
- Монады в ООП PHP — Пост о монадах в PHP в поддержку библиотеки автора MonadPHP.
- Знакомство с Yii 2 на основе создания простого блога
— По ссылке хороший хабрапост с туториалом, а тем временем полным ходом идет работа над Yii 2: пополняется документация, доступны базовое приложение-скелет и демонстрация нового компонента для отладки.
- Июльский выпуск журнала Web & PHP — Теперь статьи из выпуска можно читать на сайте журнала, а PDF-версия, как и прежде, доступна для скачивания. В этом номере стоит обратить внимание на статью об интеграции Node.js и PHP, а также обзор Symfony2.
- Пользовательская библиотека Array_column() — В PHP 5.5 была добавлена новая функция array_column(), а для тех, кто не желает обновляться до 5.5, автор функции создал микро-библиотеку с реализацией оной.
- Устанавливаем Jenkins и интегрируем с GitHub для PHP-проекта — Небольшой туториал о том, как установить Jenkins и настроить интеграцию с GitHub так, чтобы при пуше автоматически запускалась сборка приложения. Также много полезной информации об использовании Jenkins с PHP проектами можно найти тут.
- Создание поисковика на React PHP
— Интересный пост, в котором описано создание индексирующего демона с помощью React PHP.
- Параметризованные маршруты на AngularJS и Silex — Небольшая заметка, о том, как расширить Controller в AngularJS для удобного использования параметризованных маршрутов.
- Сохраняем PHP-сессии в Redis — Подробный туториал, в котором вы найдете описание мотивов использования стороннего хранилища для сессий, немного базовой информации об обработке сессий и хранении данных, а также непосредственно пример реализации SessionHandlerInterface для работы с Redis.
- PHP-сессии в Erlang Mnesia — Если с хранением сессий в Redis все более или менее очевидно, то в данном посте рассмотрено экзотическое решение. Впрочем, это всего лишь эксперимент пока неприменимый в продакшене.
- Структуры данных для PHP-разработчиков: деревья — В предыдущем посте серии речь шла о стэке и очереди, на этот раз немного теории и примеров на PHP о деревьях. Пост будет полезен молодым разработчикам и тем, кто только начинает.
- Руководство по Vagrant для начинающих, 2, 3 — Не зря посты о Vagrant регулярно встречаются в дайджестах, ведь этот инструмент позволяет буквально одной командой поднимать полностью готовое к работе виртуальное окружение. Особенно удобно, например, когда для проекта необходима особая конфигурация и софт, а родную ОСь менять/загромождать для разработки не хочется. Если вы еще не пробовали Vagrant+Puppet, то начните прямо сейчас с прочтения постов. Кроме того, для PHP есть отличный графический генератор Vagrant-манифестов — PuPHPet.
- Строим CRUD-приложение на Yii за несколько минут — Небольшой элементарный туториал по Yii 1.1. Хотя вся информация есть в документации
, но тем, кто только начинает, пост может быть полезным.
- \Zend\Db\Sql — строим запросы легко и эффективно, 2, 3 — Тройка туториалов для начинающих по работе с базой данных с помощью Zend-классов.
- Интегрируем Varnish Cache с PHP-приложением, 2 — Пара туториалов о том, как ускорить PHP-приложения благодаря использованию HTTP-акселератора Varnich Cache.
- PHPStorm + XDebug + Bitbucket: разработка на удаленном сервере в небольшой команде
— В хабрапосте автор описал схему работы над PHP-проектом без использования локальных веб-серверов разработчиками.
- Улучшаем производительность PHP на Windows с помощью Profile Guided Optimization (PGO) — Интересный пост об оптимизации основанной на данных профилирования, применяемой в бинарниках PHP для Windows.
- Автоматический «текучий интерфейс» и ArrayIterator в PHP-моделях
— Автор хабрапоста поделился своим решением задачи простого и наглядного доступа к свойствам модели.
- PHP-реализация виртуальной машины Chicken — Автор ReactPHP Igor Wiedler, портировал реализацию эзотерического языка программирования, единственным символом которого является «chicken». Практического применения, естественно, никакого, но код может быть неплохим предметом для изучения.
- Laravel 4: как сохранить код организованным — Несколько советов о том, как не допустить беспорядка в коде Laravel-проекта в процессе роста приложения.
- Создаем гибкие контроллеры в Laravel 4 — Туториал по Laravel, в котором раскрыта тема использования репозиториев.
- Статистика использования баз данных, серверов, версий Java и PHP в облаке
— Хабрапост со статистикой от популярного PaaS — Jelastic.
- Так ли быстр ваш Framework или хватит тестировать производительность Нello World
— Небольшой, но интересный хабрапост: «изучайте как можно больше решений, берите из них лучшее, совмещайте удачные реализации».
- О библиотеках с открытым исходным кодом — Отличный пост, в котором автор собрал лучшие практики по организации и оформлению репозитория кода при публикации для всеобщего пользования. Итак, если вы реализовали библиотеку и хотите чтоб она была популярной, а также желаете получить конструктивный фидбэк, то обязательно ознакомьтесь с постом.
- Отправка уведомлений из PHP — Автор реализовал простое и легковесное решение для управления уведомлениями — Notificator. Уведомления можно посылать на почту, использовать уведомления рабочего стола Ubuntu, или реализовать свой собственный обработчик.
- Что нового в PHP 5.5 — Хороший пост о новых возможностях PHP последней версии.
- PHP в 2013 году — На встрече PHP-пользователей в Лондоне с докладом выступал Расмус Лердорф. По ссылке доступны слайды, а тут можно посмотреть видеозапись.
- Использование ncurses в PHP
— Отличный хабрапост об использовании библиотеки ncurses, которая позволяет создавать сложные и удобные консольные утилиты.
Ссылка на предыдущий выпуск.