Дайджест интересных новостей и материалов из мира PHP (15.07.2013 — 28.07.2013)
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Приятного чтения!
Новости и релизы
- AspectMock — тестируем любой PHP код — Замечательное применение библиотеки Go! AOP, благодаря возможностям которой, тестировать в PHP теперь можно буквально все! При этом код становится даже проще. Доступен скринкаст с демонстрацией AspectMock. Отлично!
- Вышел PHP 5.5.1 — Спустя месяц после релиза 5.5 вышло первое обновление, которое включает около 20 исправлений, в том числе безопасности XML парсера, а также ошибок в опкэше, веб-сервере, PDO, Phar и другие.
- KPHP от ВКонтакте — На своей странице Дуров рассказал о переводе всего кода ВКонтакте на компилируемый язык программирования — KPHP, что, как стало известно позже, требовало полного избавления от ООП. Вскоре на Хабре появились ответы на вопросы и комментарии от разработчиков из ВКонтакте . Что ж, дождемся появления KPHP в открытом доступе.
- Slim Framework 2.3.0 — Обновился популярный микрофреймворк.
- Командная строка WordPress — Весьма полезный инструмент для разработчиков использующих WordPress.
- Gerar PHP — Автор загорелся идеей реализовать систему управления конфигурациями вроде Chef или Puppet, но на PHP, поскольку ему, как PHP-разработчику, удобно было бы работать с PHP-синтаксисом. Результатом стал Gerar PHP.
PHP
- Развитие синтаксиса — Интереснейший пост от Igor Wiedler, core-разработчика PHP, автора React и Stack. Описана идея реализации механизма синтаксической абстракции в PHP. Вдохновившись макросами в Лиспе и использовавPHP Parser, автор создал демонстрацию своей идеи и портировал возможности PHP 5.4 на версию 5.3.
- Cинтаксический сахар для PHP — Автор хабрапоста начал создавать проект PHP Mirror, который предполагает добавление целого ряда полезных возможностей в PHP. На данный момент уже реализовано приведение типов.
- RFC: Импорт функций из пространств имен — На данный момент PHP позволяет импортировать из пространств имен отдельные типы (классы/интерфейсы/трейты) с помощью оператора
use
. Автор RFC предлагает добавить возможность импортировать отдельные функции с помощью конструкцииuse function
и константы —use const
.
Материалы для обучения
- Интернационализация на PHP с помощью gettext — Отличный большой и подробный туториал по использованию библиотеки gettext .
- Laravel 4 — расширяем легко — Автор вынужден был помочь в использовании Laravel 4 на shared-хостинге с не самой свежей версией PHP. В посте он демонстрирует, как благодаря компонентной архитектуре фреймворка его можно легко расширять и модифицировать, например, чтобы снизить требования к версии PHP.
- Масштабируем PHP на EC2 до 30,000 пользователей на сервер — В посте автор приводит несколько рекомендаций по оптимизации производительности PHP-приложения, запущенного на серверах от Amazon. Большинство рекомендаций универсальны и будут актуальны для любых платформ.
- PHP взрывает Google App Engine — Чуть больше двух месяцев назад Google анонсировал поддержку PHP на своей облачной платформе App Engine. По ссылке интервью с менеджером проекта App Engine, который кроме прочего говорит о намерениях Google конкурировать с Amazon, Microsoft и другими игроками на рынке облачных платформ.
Также немного мыслей по теме. - Использование встроенного веб-сервера PHP в ваших тестах — Начиная с версии 5.4 PHP поставляется со встроенным веб-сервером. Автор поста демонстрирует способ конфигурации PHPUnit для запуска веб сервера перед выполнением набора тестов, и завершением его работы после окончания тестирования.
- Структуры данных для PHP-разработчиков: Куча — Продолжение серии постов для молодых и начинающих разработчиков. Читайте также о деревьях, стеке и очереди.
- Использование третьесторонних библиотек в проектах с Composer — Небольшой совет о том, как подключать библиотеки не поддерживающие Composer в проектах использующих его.
- Yiistrap и Yiiwheels — Пара отличных расширений для Yii, позволяющих значительно сократить время на реализацию фронт-енд задач.
- Двойники на PHP с помощью Prophecy — В посте речь идет об использовании библиотеки Prophecy для реализации тестовых двойников: dummy-объектов, заглушек, mock-объектов.
- Работаем с многобайтными строками — Полноценную поддержку UTF-8 в PHP обещают не раньше чем в версии 6.0, а пока можно использовать возможности mbstring. В туториале по ссылке найдете немного теории по кодировкам и информации об использовании расширения mbstring.
- Создаем достойный API — Ряд советов и рекомендаций для PHP-разработчиков по проектированию и реализации API.
- Beanstalkd и очереди из Laravel 4 — Небольшой туториал по использованию очередей в Laravel 4, и о том, как организовать фоновое выполнение задач из очереди с помощью Beanstalkd.
- Получаем доступ к приватным свойствам объектов в PHP без рефлексии — Хабраперевод поста, в котором автор был не доволен слишком низкой скоростью работы ReflectionClass и ReflectionProperty, и продемонстрировал более эффективный способ с использованием метода Closure::bind.
- Создаем приложение на Laravel на AppFog — Скринкаст о развертывании Laravel 3 на популярном PaaS-хостинге.
- Интернационализация в 5 самых популярных PHP-фреймворках — Обзор реализаций возможностей интернационализации в CakePHP, CodeIgniter, Symfony, Zend Framework и Yii.
- Symfony2 подписка на динамические события — Автор хабрапоста описывает один из вариантов реализации обработчика событий, имя которых не известно заранее.
- Переходим к разработке в облаке — Небольшой пост о том, как организовать процесс разработки с помощью облачных инструментов. Из доступных IDE автор остановил свой выбор на Cloud9, возможности которой действительно впечатляют как для IDE, работающей в браузере.
- Выполняем HTTP-запросы параллельно — Небольшой пост об использовании функций curl_multi_*. Также автор рекомендует к использованию библиотеку Guzzle, которая упрощает создание RESTful-клиентов на PHP.
- Пишем SOAP клиент-серверное приложение на PHP — Большой и подробный хабрапост о создании SOAP-сервиса с примером реализации на PHP.
- Планы на ближайшие релизы Phalcon — Маленький обзор того, что следует ожидать разработчикам в версиях 1.3/1.4.
- PHP и блокировка файлов сессий — Проблема, описанная в посте, известна давно, но далеко не каждый о ней знает. Описание на русском можно прочитать тут .
- Вопросы на собеседовании по PHP — Давно на Хабре была подборка вопросов по PHP , но мир не стоит на месте и интересно, какие вопросы актуальны сейчас?
- Определяем устройство на стороне сервера с помощью Browscap — В туториале рассказано о проекте Browscap и о его применении в PHP-приложениях. Напомню про небольшой но удобный PHP-класс Mobile Detect, который позволяет определять мобильные устройства.
- Уязвимость класса SQL Injection в WordPress — Известный PHP-разработчик Anthony Ferrara обнаружил серьезную уязвимость в коде WordPress, суть которой и описывает в посте. Не смотря на то, что угрозы пользователям уязвимость не несет, так как не может быть эксплуатирована в установке по умолчанию, но примечательно то, что уязвимость не была устранена даже спустя почти 3 месяца после сообщения о ней разработчикам.
- Обзор HHVM, Facebook ускорил PHP в девять раз благодаря HipHop VM — Пара постов о разрабатываемой в Facebook виртуальной машине PHP, которая позволяет выполнять код значительно быстрее традиционного интерпретатора. На данный момент HHVM поддерживает PHP 5.4 практически полностью. Больше информации о HHVM можно найти в официальном блоге.
Источник: http://habrahabr.ru/
Автор: Роман Понский