Дайджест интересных новостей и материалов из мира PHP за последние две недели (11.08.2013 — 25.08.2013)
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Новости и релизы
- Обновления PHP 5.4.18 и 5.5.2, а также 5.4.19 и 5.5.3 — Релизы включают в себя целый ряд исправлений, в том числе ошибок безопасности. Всем пользователям рекомендуется обновиться до последних версий. Полный список измененийтут.
Релиз PHP 5.5.2 включает в себя также реализацию механизма защищённых сессий. - Вышел в свет Yii 1.1.14 — Масштабное обновление ветки 1.1, включающее в себя более 80 исправлений и более 60 улучшений. Подробный обзор новых возможностей доступен в анонсе релиз-кандидата .
- The League of Extraordinary Packages — Новая организация в сообществе PHP-разработчиков, цель которой выделить PHP-пакеты высочайшего качества. Участники соблюдают стандарты PHP-FIG, следуют лучшим практикам и используют самые современные решения.
- Поддержка JSON убрана в PHP 5.5 — Оригинальный пост наделал много шума, так как некоторые пользователи, прочитав только заголовок поста и не вникнув в суть вопроса, бросились сеять панику на всех социальных площадках. На самом деле, конечно же, поддержка JSON осталась на месте, разве что поменялась реализация. По ссылке подробный комментарий по данной теме.
- Черновик нового стандарта PSR-4 — Пост в Reddit коротко описывает суть нового стандарта, который перешел в статус черновика и вероятно скоро будет принят. Так же, как и PSR-0 новый стандарт касается автозагрузки.
- PHP побеждает с результатом 96.5% — Статистика распределения сервер-сайд языков программирования среди сайтов использующих русский язык.
- Продукты Zend бесплатно для open-source PHP-проектов — Кампания от Zend, в ходе которой контрибьюторам популярных PHP-проектов бесплатно предоставляются Zend Server Enterprise Edition и Zend Studio.
PHP
- PHP из будущего — Небольшой но интересный пост, в котором автор делает попытку предсказания дальнейшей судьбы языка и экосистемы.
- RFC: Constant Scalar Expressions — Данное предложение предполагает возможность использования скалярных выражений там, где сейчас возможно использование только статических значений: объявления констант, объявления свойств, аргументы функций по умолчанию. Например так
const FOO = 1 + 1;
или такstatic $bar = 1 << 2;
или такfunction foo($a = 1 | 2) {}
. - Генераторы в действии — Подробно о новой возможности из PHP 5.5. Примеры прилагаются.
Инструменты
- PHP DebugBar — Универсальная отладочная панель для PHP. Подобные инструменты есть в Symfony, Zend Framework, Yii и других фреймворках, но теперь есть и независимое решение! Панель отображает информацию о времени выполнения скрипта, используемой памяти, параметрах запросов, исключениях, профилирование запросов к базе и другое. Посмотрите на панель в действии прям на главной странице проекта.
- Строим сложные регулярные выражения с помощью VerbalExpressions — VerbalExpressions — это PHP-библиотека, которая позволяет описывать регулярные выражения с помощью конструкций естественного языка. Например описание URL выглядит так:
$regex->startOfLine()->then("http")->maybe("s")->then("://")->maybe("www.") ->anythingBut(" ")->endOfLine();
- Конвертируем HTML в PDF при помощи Dompdf — Хабраперевод туториала по использованию библиотеки Dompdf.
- Модули для ZF2 в изобилии! — Автор реализовал и описал целый ряд полезных модулей для Zend Framework 2.
- 10 отличных инструментов для PHP-разработчиков — Некоторые инструменты из списка вам будут наверняка знакомы как например Phalcon или Pinba, но возможно что-то из списка будет новинкой, как например Munee.
- Инструменты для тестирования REST API — Хоть и не относящийся непосредственно к PHP, но тем не менее очень актуальный вопрос всплыл на Reddit: какие существуют инструменты для отладки/тестирования REST API? Среди предложенных вариантов были следующие: Postman, SoapUI, Advanced REST Client for Chrome, Dev HTTP Client, hurl.it,Frisby, Runscope, встроенный REST клиент из PHPStorm. Также были предложены Guzzle, Codeception с REST модулем. Кроме этого рекомендую обратить внимание на Swagger-UI (демо) и вообще на проект Swagger и Swagger-PHP в частности.
- Отладочная панель для Yii 1.1 портированная из Yii 2 — В Yii2 появилась нативная отладочная панель, которую автор успешно перенес в Yii 1.1. Напомню также, что для Yii 1.1 есть альтернативная отладочная панель.
Материалы для обучения
- Перехват выполнения системных функций в PHP — В последней версии библиотеки Go! AOP была добавлена возможность перехвата системных функций. По ссылке пост с демонстрацией применения этой возможности.
- Добавляем возможность оплаты с помощью Bitcoin на вашем сайт — В туториале немного о том, что такое и как работает bitcoin, а также пример приложения на микрофреймворке Slim с реализацией оплат через процессор BIPS.
- Использование Facebook Realtime Updates — Realtime Updates позволяют вашему приложению подписываться на интересующую информацию о пользователе и получать уведомления, когда происходит обновление, а не делать периодические запросы самостоятельно. Об этой возможности и идет речь в туториале. Пример реализован с помощьюSlimBootstrap.
- Использование встроенного веб-сервера PHP в Behat-тестах — Некоторое время назад автор уже писал о том, как использовать встроенный в PHP (≥ 5.4) веб-сервер в тестах на PHPUnit. На этот раз небольшая заметка о том, как использовать веб-сервер в приемочных тестах на Behat.
- Создаем BDD-фреймворк на PHP — Автор хотел найти аналог Jasmine только для PHP, но не нашел и решил реализовать нечто подобное самостоятельно. В посте небольшая демонстрация идеи.
- Переключаемся с TDD на BDD с помощью Behat и Symfony2 — В одном из своих проектов на Symfony 2 автор решил опробовать концепцию BDD используя Behat, Mink и PHPSpec, а в посте описывает полученный опыт.
- Yii, непрерывная интеграция — как не сломать все — В посте автор делится опытом налаживания процесса непрерывной интеграции и контроля качества кода в большом проекте.
- Управляем инстансами Amazon EC2 с помощью PHP — Автор демонстрирует как используя AWS SDK можно создавать EC2-инстансы прямо из PHP всего в нескольких строках кода.
- Структуры данных, PHP — Хороший хабраперевод серии статей о структурах данных для PHP-разработчиков. Переведены части о стеке, очереди и о деревьях. Ждем продолжения о куче и о графах.
- Прогресс в PHP-FIG — Группа PHP-FIG уже существует 4 года и за это время было опубликовано 4 стандарта. Однако с января никаких новых стандартов принято не было, а группу покинул Matthew Weier O’Phinney, архитектор и лидер проекта Zend Framework. В посте о том, что происходит «за сценой» и о планах группы.
- Аутентификация API-запросов с помощью Query Auth — Пост с множеством примеров использования библиотеки автора QueryAuth, предназначенной для аутентификации API-запросов.
- «D» не значит Dependency Injection — Автор пишет о весьма популярном заблуждении. В концепции SOLID, вопреки распространенному мнению, «D» означает не Dependency Injection, а Dependency Inversion, что, конечно же, более широкое понятие.
- HipHop VM: разведка боем под Debian 7 + Nginx + Symfony2 — Инструкция по установке и настройке HHVM. Хоть Symfony запустить и не удалось, но немного тестов производительности виртуальной машины прилагается.
- HHVM: тестирование производительности и совместимости с Joomla, Битрикс и WordPress — В продолжение темы еще тесты производительности HHVM.
- Не имеет значения какой PHP-фреймворк выбирать — Первое, на что обращают внимание многие разработчики при выборе фреймворка — это скорость. Однако автор считает, что это далеко не главный критерий и объясняет почему.
- «Новости по теме» с помощью PHP, phpmorphy и MySQL — Небольшой хабрапост, в котором описан вариант реализации выборки похожих записей.
- Laravel Weekly — В официальном блоге Laravel еженедельно публикуется подборка интересных материалов. Некоторые из них попадают и в дайджесты, но если вам интересен фреймворк, то рекомендую также следить за выпусками Laravel Weekly.
- Как начать использовать DI — Простая демонстрация концепции DI.
- Готовимся к техническому докладу — Полезные советы и рекомендации от PHP-разработчика из core-команды и опытного докладчика, Anthony Ferrara.
- Интеграция phpBB в Yii framework — Собственно, пошаговая инструкция о том, как быстро интегрировать форум phpBB в ваш сайт, написанный на Yii framework.
- Push-уведомления с помощью Prowl — Prowl — это Growl клиент для iOS. Вариант использования: вам нужно быстро реализовать отправку каких-либо уведомлений себе или группе пользователей без мороки с созданием и публикацией собственного приложения.
- Laravel 4: Аутентификация — Большой и подробный туториал по Laravel 4 на примере реализации аутентификации пользователей.
- Кодирование и декодирование PHP кода — Интересная статья об обфускации и, соответственно, деобфускации PHP-кода.
- Деобфускация одного зловредного кода — А в этом посте уже конкретный пример анализа обфусцированного скрипта.
- Защищаем логин-формы от брутфорс-атак с помощью очередей — Автор описывает интересный способ защиты от брутфорс-атак. С помощью очереди он ограничивает число возможных попыток в секунду.
- Статический анализ PHP-кода в Sublime Text — Автор описывает как настроить инструменты статического анализа кода в редакторе Sublime Text.
- Zephir в действии — Скринкаст с демонстрацией работы альфа-версии языка Zephir, разрабатываемого командой Phalcon.
Материалы c прошедших конференций
- Введение в Silex — Видеозапись отличного доклада от Igor Wiedler.
- Reacting with ReactPHP — Слайды доклада о ReactPHP и Ratchet от автора React.
- Northeast PHP 2013 — Слайды 25 докладов с масштабной конференции полностью посвященной PHP и прошедшей недавно в Бостоне.
Источник: http://habrahabr.ru
Автор: Роман Понский