Дайджест интересных новостей PHP (24 марта — 14 апреля 2014)
Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы. Приятного чтения!
Новости и релизы
- PHP 5.6.0beta1 — Стала доступна первая бета новой версии интерпретатора PHP. Из добавленного в этом релизе, например, асинхронные запросы к PostgreSQL.
- Релизы PHP 5.4.27 и PHP 5.5.11 — Обновления актуальных веток, включающие исправления безопасности. Рекомендуется обновиться.
- Kohana, покойся с миром — Релизы Kohana 3.2.3 и 3.3.2 стали последними в истории этого популярного некогда фреймворка. Но конец это всегда начало чего-то нового. Так, разработчики Kohana дали старт новому проекту –Ohanzee, который представляет собой набор независимых компонентов.
- 13 апреля Yii 2 переходит в статус Beta — Уже. Также создается open-source книга рецептов по Yii 2 .
- Guzzle 4.0 — Мажорный релиз отличной библиотеки для реализации HTTP-клиентов. Подробнее об изменениях и новых возможностях в анонсе релиз-кандидата. Кроме непосредственно Guzzle стал доступен также ряд расширений: Guzzle Streams , Log Subscriber и другие.
- HHVM 3.0.0 — Релиз уже хорошо известной виртуальной машины от Facebook.
- HippyVM — Альтернативные реализации PHP появляются как грибы после дождя. На этот раз реализация PHP на PyPy. По словам разработчиков, решение в 7.3 раза быстрее нативного PHP и в 2 раза быстрее HHVM.
PHP
- О PHP 6 — Обсуждение в php.internals о том, почему нельзя называть следующую версию PHP 6. Но и PHP 7 уже занят
Тем не менее работа над PHP 5++ идет, план сформировался в хороший подробный список. Кстати, интересно, что в нем присутствует даже JIT. Ожидается, что команда в полном объеме приступит к реализации плана сразу после релиза 5.6, и закончит работу приблизительно через 2 года.
Инструменты
- RegExr — Удобный инструмент для анализа и построения регулярных выражений.
- Tracy — Неплохой инструмент для отладки приложений.
- Hateoas — Библиотека для создания HATEAOS REST веб-сервисов.
- Flint — Микрофреймворк на основе Silex. Yo dawg I heard you like microframeworks so we built miсroframework on top of microframework so you can use microframework while you use microframework.
- Vlad — Неплохая библиотека валидации данных с поддержкой мультиязычности.
- Cilex — Легковесный фреймворк для создания приложений командной строки на основе компонентов Symfony2.
- MailCatcher for PHP — Библиотека для интеграции с MailCatcher
- PHP Parallel Lint — Инструмент проверки синтаксиса, анализирующий файлы параллельно.
- habrapi — Официальный клиент HabraHabr API, правда пока на стадии глубокой разработки.
- Ray.Di — Dependency Injection фреймворк, клон Guice от Google для Java.
- VisualCeption — Расширение для Codeception, позволяющее визуально (с помощью скриншотов) сравнивать участки страниц.
- XStatic — Статические прокси интерфейсы а-ля фасады в Laravel, но с возможностью использования в любом приложении.
- WP-API — Плагин для WordPress, реализующий REST API.
- Graceful Death — Небольшая библиотека, позволяющая отлавливать фатальные ошибки, и выполнить какой-либо завершающий код после этого. В основе лежит идея создания форка процесса, так что работает только в unix-системах и требует
pcntl_*
функций. - SQL wrapper — Простая, но интересная обертка над DBAL. Пост с описанием от автора.
- Pecan — Шелл для ReactPHP на основе Symfony Console.
Материалы для обучения
- Абстрактные файловые системы с помощью Flysystem — Туториал по использованию библиотеки Flysystem , которая позволяет прозрачно использовать как локальную файловую систему, так и удаленное хранилище (S3, Dropbox, FTP, SFTP) не изменяя код приложения.
- Знакомимся с JadePHP — Пост об одном из представителей вида PHP-шаблонизаторов. JadePHP – порт популярного Javascript-движка Jade.
- Как ускорить ваше приложение благодаря правильному использованию API — Несколько рекомендаций: параллельные запросы, вынести API-вызовы за пределы основного потока приложения, кэширование.
- Аутентификация и авторизация в Apigility — Полезный пост, для тех кто заинтересован в создании приложений на основе Zend Framework 2 и Apigility.
- Делаем сессии в PHP безопаснее — Кастомный обработчик сессий и немного шифрования – код .
- Обработка Amazon SNS сообщений в PHP, а также тестирование локально. — Пара туториалов об использовании сервиса сообщений Amazon SNS.
- Разработка PHP-расширений на Zephir — Годный туториал для старта с Zephir.
- Разработка PHP-расширений с помощью PHP-CPP. ООП — Кстати, вышла первая стабильная версия библиотеки PHP-CPP.
- Проверяйте ссылки, отправленные пользователями, на малварь и фишинг — В посте автор рекомендует несколько сервисов для проверки ссылок: Google SafeBrowsing, SURBL, Phishtank, VirusTotal.
- Оптимизируем MySQL — Серия хороших туториалов об оптимизации базы данных, индексах, поиске узких мест.
- Обработка JSON в PHP — Об использовании не только привычных json_encode и json_decode, но и реализацииJsonSerializable.
- Рефакторинг легаси-кода, 2
- Нет такого понятия как опциональные зависимости — О неправильном использовании директивы suggest в описании composer-зависимостей.
- Меньше значит больше — Как перестать включать все подряд в composer.json и начать разрабатывать.
- Покрытие кода тестами: от мифа к реальности — О том, почему покрытие может быть в действительности не так важно.
- Data Transfer Objects — Интересный способ описания объектов данных (классов только с набором свойств) и валидации типов свойств.
- Обзор компонентов Symfony2: ExpressionLanguage, Finder — Ранее также были: Validator, Routing, Config, EventDispather,HttpKernel, Translation, Templating.
- Развертывание Symfony2-приложений с помощью Ansible — Об использовании инструмента автоматизации Ansible, для которого уже написано достаточно много готовых рецептов.
- Начинаем работу с Assetic — Туториал по использованию популярного менеджера ресурсов для PHP.
- Введение в разработку веб-приложений на Symfony — Бесплатный онлайн-курс.
- Скачиваем все изображения с сайта используя Symfony-компонент DomCrawler
- Об изменениях в работе с временными зонами в PHP 5.5.10
- Курсоры и Aggregation Framework — В связи с выходом массивного обновления MongoDB 2.6, соответствующий драйвер для PHP также обновился. В посте по ссылке об использовании новых возможностей.
- Конвертируем Markdown в PDF с помощью PHP — Markdown конвертируется в HTML и затем с помощью dompdf соответственно в PDF. Ранее уже был подробный туториал по использованию dompdf .
Другой способ генерирования PDF из HTML – использовать KnpSnappyBundle . - Анализ трафика удаленной машины с помощью Wireshark — Небольшой трюк по использованию сниффера Wireshark с Vagrant-боксами и не только.
- Способ запуска PHP-FPM получше — О конфигурации php-fpm и использовании ondemand менеджера процессов.
- HHVM и New Relic — Популярный сервис мониторинга приложений New Relic пока официально не поддерживает HHVM, но автор поста реализовал свое расширение , которое позволяет решить проблему.
- Начинаем работу с HHVM и HACK, 2, 3
- Мое путешествие с HHVM — Тест HHVM против php-fpm, который, на удивление, не показал выигрыша первого.
- PurePHP — NoSQL база данных на чистом PHP
- Создание чата на PHP
- Слайды к курсу Epic PHP — Отличные слайды для тех кто изучает PHP.
- Подсказки по созданию приложений для социальных сетей — Не касаются прямо PHP, но рекомендации полезные.
- Использование PhpStorm для разработки под WordPress
- Работаем асинхронно в PHP или история ещё одного чата
- Тысяча и одна gif — О сервисе по записи gif’ок с веб-камеры при помощи HTML5 и JS.
- Используем трейты с пользой
- Используйте поиск по хешу, а не обыск массива — Сделайте значения массива ключами и получите выигрыш в производительности.
- JPHP — Как он работает. История создания — Подробнее о JPHP – полноценном компиляторе PHP для Java VM.
Материалы c прошедших конференций
- PHP South Africa — Слайды 7-и докладов. Об асинхронном PHP интересные – Async PHP.
- Percona Live MySQL Conference & Expo 2014 — Видеозаписи с прошедшей в Калифорнии конференции.
- https://code.facebook.com/posts/683726355017955/hack-developer-day-recap/ — Вскоре после официального представления Hack был проведен Hack Developer Day, на котором разработчики из Facebook подробного рассказывали о новом языке. По ссылке описания и видеозаписи докладов.
Аудио и видеоматериалы
- Использование Eloquent ORM вне Laravel
- PHP Town Hall: Эпизод 23 — Фил обсуждает VirtPHP с его авторами, HippyVM и другие темы.
Занимательное
- HACK для PHP это как ES6 для JavaScript — Небольшое сравнение возможностей ES6 и HACK бок о бок.
- Убивает ли Facebook язык PHP, создавая HHVM?
Автор: Роман Понский