Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Приятного чтения!
Новости и релизы
- Вышел Laravel 4 — Туториалы по Laravel 4 начали появляться больше чем полгода назад, а это значит, что фреймворка действительно ждали. Наконец-то, можно лицезреть результат более чем года работы. Для тех, кто не знаком с фреймворком, но хотел бы на него взглянуть, на обновленном сайте имеется быстрый старт и более подробный обзор смотрите в скринкасте. Кстати, напомню про отличную и постоянно обновляемую базу скринкастов по Laravel 4 — Laracasts. Ну и для активных пользователей фреймворка есть замечательный ресурс laravel.io, на котором аккумулируются все новости и материалы по Laravel.
- Встречайте Stack — Igor Wiedler, который уже известен как автор React и микрофреймворка Silex, на этот раз описал соглашение, регламентирующее способ объединения middleware-компонентов в некоторый слой между веб-сервером и PHP(Symfony)-приложением. На данную идею автора вдохновил Rack — решение из Ruby-мира.
- Доступен PHP 5.5.0RC2 — Итак, второй и, возможно, последний релиз-кандидат новой версии PHP. 6-го июня ожидается очередной релиз и не исключено, что это будет финальная версия.
PHP
- Статистика использования PHP — Автор поста делает обзор нескольких статистических исследований (w3tech, TIOBE) и пытается интерпретировать полученные сведения. В частности, автор считает, что любой профессиональный разработчик должен по крайней мере быть знакомым с PHP, как с самым популярным языком веб-программирования.
- Декораторы в PHP , Реализация расширения — Под декораторами в данном случае понимается не шаблон проектирования, а декораторы в стиле python. Автор реализовал PHP-расширение, которое добавляет возможность использования подобных декораторов в PHP. Во втором посте описаны детали реализации самого расширения. Пост будет очень полезен тем, кто решит взяться за написание собственного расширения.
- Простейший пример генераторов в PHP — Совсем скоро выйдет PHP 5.5, в которой добавлена новая возможность — генераторы. В посте простой пример и рекомендации по применению генераторов. Больше информации по генератором можно найти в мануале.
- (int)((0.1+0.7)*10) — Если вы сомневаетесь в результате обозначенного выражения, то этот пост для вас. Автор пишет о представлении вещественных чисел в памяти, и показывает почему все-таки результат 7.
Материалы для обучения
- Разработка в цифрах — Отличнейший доклад от Anthony Ferrara. Очень часто мы слышим людей, которые говорят о том, как писать хороший код. Но как можно объективно оценить насколько код хорош и нуждается ли он в рефакторинге? Как проанализировать существующий код не тратя при этом недели на вычитывание? Ответы могут дать такие инструменты как pDepend и PHPLOC. Но выдаваемые ими результаты может быть не просто понять и интерпретировать.
В своем докладе Энтони как раз рассматривает доступные инструменты анализа качества кода, дает теоретические сведения об используемых метриках, демонстрирует применение на реальных проектах вроде Drupal. Кроме того, показывает как интегрировать подсчет метрик в процесс разработки, чтобы повысить качество создаваемых вами приложений. Слайды (PDF). - Очереди с помощью RabbitMQ и PHP, 2, 3 — Хороший туториал в трех частях по использованию платформы RabbitMQ. В первой части общая информация и обзор возможностей, во второй и третьей непосредственно о создании и использовании очередей c примерами на PHP.
- Асинхронные MySQL запросы в HipHop PHP — Небольшой, но полезный пост, речь в котором идет также о реализации очереди, но на этот раз с помощью встроенного в HipHop сервера сообщений XBox.
- Сочиняем музыку с помощью PHP — Занимательный пост, в котором автор показывает, как можно генерировать не совсем случайную последовательность нот. Для этого предлагается использовать механизм цепей Маркова и обучение на некотором наборе данных. То есть имея последовательности нот из «хороших» композиций, можно подсчитать вероятности следования одной ноты после другой и на основе полученных данных строить новые мелодии.
- Битва титанов: Zend против Symfony — Небольшое обзорное сравнение фреймворков. Интересно было бы провести полноценное сравнение титанов ZF2 и Symfony 2.
- Как создать группу пользователей PHP — Интервью с лидером группы пользователей PHP в Лидсе, в котором он делится опытом создания группы, рассказывает о сложностях, с которыми столкнулся и дает советы для тех, кто только собирается создать группу пользователей.
- Приемочное тестирование с помощью Selenium и PHPUnit — Отличный туториал по использованию Selenium, в котором автор также показывает, как созданные на Selenium тесты экспортировать в PHPUnit тесты. Прилагаются скринкасты к каждому шагу.
- Полное покрытие тестами непрактично — Написание тестов довольно «дорогая» операция, поэтому автор и призывает не писать тесты ко всему подряд, а тестировать лишь действительно важные кейсы и игнорировать очевидные моменты. Сфокусируйтесь на создании безупречного продукта.
- C для PHP — Ввиду популярности фреймворков вроде Phalcon, действительно стала интересна тема написания расширений для PHP. Автор поста собрал в одном месте ссылки на ресурсы и статьи по этой теме, за что ему спасибо.
- PHP в облаках — Небольшой вводный туториал по использованию облачного хостинга AppFog, которой к слову ранее назывался PHPFog.
- 3 простых шага для повышения производительности веб-приложения на PHP — В посте несколько рекомендаций по контролю и повышению производительности PHP-приложений: акселератор, автозагрузчик на основе Composer, сериализация «тяжелых» объектов.
- Symfony2 на Windows Azure — Автор поста реализовал бандл, который позволяет прозрачно развертывать Symfony2-приложения на облачную платформу от Microsoft.
- Почему в нашем бизнесе мы выбрали Symfony2, а не другой PHP-фреймворк — Автор перечисляет те возможности Symfony 2, которые заставили выбрать именно этот фреймворк для решения задач. Также автор обращает внимание, что перечисленные возможности прежде всего важны именно для бизнеса, а уже потом для разработчиков.
- Виртуализируйте ваш стек с помощью Vagrant и Puppet — Хороший скринкаст о том, как и почему следует использовать Vagrant и Puppet для виртуализации рабочего окружения. В конце скринкаста также упоминается отличный онлайн генератор конфигураций для Vagrant — PuPHPet, который за последние две недели обзавелся поддержкой Nginx, PostgreSQL и xhprof.
- Zend Framework 2 — HTML5 элементы форм — Простенький туториал, в котором идет речь о HTML5-элементах форм: поле ввода телефона, email-поле, URL-поле и элемент выбора даты/времени, поддержка которых не так давно была реализована в ZF2
- 10 шагов для быстрого отслеживания и исправления багов на PHP — Статья с рекомендациями по поиску и исправлению багов. И хотя некоторые советы избиты и весьма банальны, но это именно та информация, которую не будет лишним прочитать еще раз.
- Создаем шаблонизатор на PHP — Небольшой туториал о том, как создать свой собственный простейший шаблонизатор.
- 10 отличных PHP-сниппетов — Подборка маленьких, но весьма полезных кусочков кода на все случаи.
- Оптимальная параллелизация юнит-тестов или 17000 тестов за 4 минуты — Отличнейший хабрапост с подробным разбором задачи организации параллельного выполнения модульных тестов. В описанном решении используется TeamCity, однако авторы обещают в скором времени сделать проект открытым и обеспечить поддержку других систем.
- Организация backend и frontend в Yii framework — Отличнейшая статья, в которой сделан подробный обзор возможных вариантов реализации разделения приложения на backend и frontend.
- Работаем с AngularJS и Silex — Хороший туториал по использованию Silex в качестве REST-бэкенда для AngularJS. К посту также прилагается небольшой скринкаст.
Материалы c прошедших конференций
- Видео с DrupalCon 2013 — Видеозаписи более чем 100 докладов с прошедшей недавно 5-ти дневной конференции в Портленде. Большинство, конечно, так или иначе посвящены Drupal, но есть доклады и на общие темы.
- Слайды c Symfony Live 2013 — Совместно с DrupalCon в Портленде проходила конференция Symfony Live 2013. Пока готовятся видеозаписи докладов можно глянуть слайды.
- Слайды с HotCode и Yii-Meetup — В Киеве прошла масштабная конференция HotCode, на которой был представлен и PHP: Повышаем качество PHP-кода , Готовим Yii правильно . Кроме того там же в Киеве прошла встреча Yii-разработчиков: Yii2: Обзор public preview . К концу лета следует ожидать второй полноценной конференции YiiConf.
- Слайды с phpDay 2013 — По ссылке слайды 14 докладов с прошедшей в Италии конференции.
- Видео с PHP Benelux 2013 — Конференция PHP Benelux прошла еще в начале года, но видеозаписи докладов стали доступны совсем недавно. Особенно интересны доклад от Julien Pauli об управлении памятью в PHP, о хранении паролей от Anthony Ferrara и о регулярных выражениях от Андрея Змиевского.
Ссылка на предыдущий выпуск.