Дайджест новостей и материалов PHP (22 сентября — 6 октября 2013)
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Новости и релизы
- Zend PHP 5.5 Certification — Стала доступна обновленная сертификация для PHP-разработчиков от Zend. Были добавлены новые темы и расширены некоторые старые.
Кроме того доступна сертификация по Symfony от SensioLabs. - PHP Frameworks Day 2013 — Напомню, что 12 октября в Киеве пройдет PHP-конференция, специальным гостем которой станет лично Расмус Лердорф.
- Zephir Blog — У Zephir появился свой блог, в котором регулярно будут публиковаться новости и материалы.
- Отменено голосование по PSR-4 — Результаты аннулированы и голосование временно закрыто пока стандарт не будет доработан.
- Принято предложение по улучшению синтаксиса функций с переменным числом аргументов — С результатом голосования 36 «за» и 1 «против», предложение принято и новый синтаксис будет доступен уже в PHP 5.6.
PHP
- RFC: Автоматическая инициализация свойств — Предложение добавить некий синтаксический сахар для конструкторов, позволяющий автоматически присваивать значения свойствам:
public function __construct($this->x, $this->y, $this->z) {}
- RFC: Анонимные классы — Концепция анонимных классов известная и хорошо опробованная, но есть ли необходимость в них в PHP?
- RFC: Вложенные классы — В продолжение предыдущему предложению.
- Порядок вычисления в PHP — анализ странного поведения — Может показаться, что порядок вычисления выражений в PHP определяется приоритетом и ассоциативностью операторов, но это не так. Подробнее о том, что же происходит на самом деле, читайте в отличном посте от Никиты Попова.
- Статистика 2013 — PHP сегодня и завтра — Анализ статистики по PHP и фреймворкам, а также о причинах роста популярности PHP в последнее время.
- Все, что вам необходимо знать о кэшировании опкода — Отличный скринкаст об опкод-кэшировании в PHP. Рекомендуется также ознакомиться с оригинальным документом, на основе которого и был сделан скринкаст: PHP Performance I: Everything You Need to Know About OpCode Caches
- Flatwhite — What I wish PHP could be like
Инструменты
- Syngr — Библиотека, которая является попыткой собрать разнообразие функций PHP в одно целое и предоставить объектный подход. Например
$string = new String('hello world'); echo $string->uppercase()->substring(0, 6)->replace(' ', '?')->trim('?');
и прочее. - Eden — Библиотека, созданная для быстрого прототипирования проектов на PHP. Позволяет быстро интегрировать сторонние API.
- OpCacheGUI — Графический интерфейс для OpCache из PHP 5.5.
- Tonic — Библиотека, предназначенная для создания RESTful веб-приложений.
Материалы для обучения
- Непрерывная интеграция на PHP: от нуля до Jenkins — Скринкаст с туториалом по установке и использованию Jenkins для реализации процесса непрерывной интеграции в PHP-приложении. Имеется также текстовая версия.
- Функциональное программирование на PHP — Базовые концепции функциональной парадигмы и их применение в PHP. Посты по теме уже были тут и тут .
- Профилирование PHP-приложений с помощью XHGui — Туториал по установке, настройке и использованию XHGui — графического интерфейса для XHProf.
- Журнал Web & PHP за октябрь 2013 — В свежем выпуске журнала несколько интересных статей на тему PHP и веб-разработки: Symfony2 CMF, Twig, Sylius, продвинутый тюнинг MySQL-запросов и другие.
- DTrace и PHP, 2, 3 — Серия статей в блоге Oracle об использовании DTrace с PHP.
- Использование трейтов в Zend Framework 2 — Небольшой пост с примером практического применения трейтов.
- Создаем вебсайт с помощью Laravel и Recurly , 2 — Хороший туториал в двух частях по созданию вебсайта с возможностью подписки по различным планам и реализацией регулярных платежей на основе сервиса Recurly. Вторая часть, к сожалению, пока не переведена.
- Обзор Symfony2-компонентов: HttpFoundation, HttpKernel — Серия небольших постов о базовых компонентах из Symfony2.
- Коллекции в PHP — Небольший туториал по реализации классов коллекций на PHP. Более интересная реализация уже была на Хабре .
- Файловая система медленна — Автор описывает небольшой эксперимент и тестирование файловой системы на запись 1 млн. строк в лог-файл на диске и в ОЗУ. Файловая система медленна, но это не то, о чем следует думать PHP-разработчикам в первую очередь.
- Развертывание PHP-приложений на Engine Yard — Подробный туториал по развертыванию всех компонентов PHP-приложения на популярный PaaS-хостинг.
- API-ориентированное веб-приложение на Backbone, Require.js и Slim — Пример небольшого одностраничного приложения, реализованного с использованием популярных JavaScript-библиотек и PHP-микрофрейморка Slim.
- PuPHPet и Digital Ocean — Видео, в котором полностью продемонстрирован процесс использования PuPHPet и создание конфигураций инстансов (дроплетов) для весьма популярного в последнее время облачного хостинга Digital Ocean.
- Публичные свойства, геттеры и сеттеры, или магия? — Существуют различные мнения по поводу способов получения доступа к свойствам классов. Автор рассматривает преимущества и недостатки использования каждого из подходов.
- Git-хуки — Несколько примеров использования системы хуков в Git, например, автоматический запуск Composer.
- Автоматическая отправка почты с помощью PHP, Swiftmailer и Twig — Хороший туториал по использованию Swiftmailer и Twig в PHP-приложении.
- Даты с неделями по стандарту ISO 8601 — В посте автор делится информацией о некоторых особенностях обработки дат в формате ISO 8601 в PHP.
- Миф о нетестируемости контроллеров — Автор делает попытку развенчать миф о нетестируемости контроллеров и дает советы по преодолению этой проблемы.
- Устанавливаем HHVM на Ubuntu — Небольшая инструкция по установке альтернативной реализации PHP от Facebook.
- Насколько быстр HipHop PHP? — И сразу интересный тест, который внезапно показал у HHVM более низкую производительность чем у оригинального интерпретатора. Исследование показало что виной тому реализация функции str_getcsv.
- Туториалы по CodeIgniter — Подборка туториалов по все еще популярному фреймворку. Когда же объявится новый владелец фреймворка?
- Классика в новом стиле: BDD-спецификации в PHPUnit — Пост о том, как с помощью небольших инструментовSpecify и Verify добавить в PHPUnit немного BDD-стиля а-ля Jasmine.
- Unit Tests. Data Provider без головной боли — Автор делится опытом, полученным в результате реализации множества модульных тестов.
- Код ревью — Несколько советов и рекомендаций по процессам ревью кода.
- Ответственность за зависимости — Igor Wiedler пишет о том, почему не следует слепо доверять сторонним библиотекам и использовать их при первой же возможности.
- Двухфакторная аутентификация с помощью Clef — Небольшой туториал по интеграции с сервисом Clef. Ранее также были примеры для Yubikey, Google Authenticator, Duo Security, Authy.
- Интеграция веб-сервисов в популярные cms — Ребята из Cackle делятся опытом создания расширений для интеграции своего сервиса в популярные CMS.
- Расширение для PHP или все будет в Zephir’e — Небольшой туториал по созданию HelloWorld-PHP-расширения на Zephir.
- Генератор utf-8 json на php с поддержкой unicode 6 — Реализация полноценной поддержки юникода в json_encode для PHP < 5.4.
- Хэширование паролей в PHP 5.5 с использованием нового API — Об этом уже писали много раз, еще одна статья в копилку.
- Шпаргалка по Composer — Удобная страничка с подсказками по Composer.
- Внедрение версионной миграции базы данных в PHP проекте — Туториал по использованию Doctrine Migration Tool для реализации механизма миграций в вашем PHP-приложении.
- Абстрактные классы, абстрактные методы, интерфейсы? — Пост о том, что есть что, и когда что использовать.
- Laravel 4 API — Продолжение серии исчерпывающих туториалов по Laravel 4. Ранее уже было обаутентификации в Laravel 4, Access Control List и о развертывании.
- Cкринкасты по Laravel 4 — Обновился сайт, на котором регулярно публикуются скринкасты по Laravel 4.
- Аспектно-ориентированное программирование в Yii — Туториал по использованию библиотеки Go! AOP в Yii Framework.
- Исправляем CSRF-уязвимость в PHP-приложениях — CSRF одна из 10 самых эксплуатируемых уязвимостей веб-приложений по версии OWASP. В посте о том, что такое CSRF, рекомендации по разработке приложений защищенных от CSRF, а также обзор полезных PHP-инструментов.
Материалы c прошедших конференций
- PHPNW 2013 — Слайды 23-х докладов с прошедшей в Манчестере конференции. Обратите внимание на доклад от Igor Wiedler: Dysfunctional Programming.
- Воспринимаем PHP серьезно (PDF) — Слайды доклада от одного из разработчиков HHVM. В докладе проанализированы сильные стороны, которые, будь то намеренно или случайно, сделали PHP доминирующим языком в своей нише. Также освещены попытки Facebook устранить недостатки PHP, при этом сохранив достоинства.
http://www.pvsm.ru/news/45063
Автор: Роман Понский