Дайджест интересных новостей PHP (14 апреля — 27 апреля 2014)
Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы. Приятного чтения!
Новости и релизы
- Behat 3.0.0 — После 2 лет работы наконец-то стала доступна третья версия популярного BDD-инструмента для PHP. Подробнее в видеопрезентации от автора .
- Авторы PHPUnit анонсировали конец поддержки PEAR — Некогда популярный репозиторий расширений и пакетов для PHP PEAR уверенно движется к концу своего существования. Канал pear.phpunit.de существовал с 2006 года, но будет закрыт не позднее 31 декабря этого года, а релизы PHPUnit 3.7.35 и PHPUnit 4.0.17 станут последними доступными через такой способ установки. Кроме того, Фабьен подтвердил, что PEAR пакеты Symfony также перестанут публиковаться в скором времени.
- Yii 2.0 beta — Подробный обзор бета-версии долгожданного фреймворка Yii 2.0. Также смотрите подборку тем , которые следует изучить при переходе на Yii 2.
- WordPress 3.9 “Smith” — Релиз содержит в основном косметические изменения и улучшения.
- DevConf 2014 — 14 июня в Москве пройдет конференция для веб-разработчиков DevConf. Среди подтвержденных в PHP-секции доклады от SamDark по Yii 2.0 , а также от одного из core разработчиков Laravel – Shawn McCool.
PHP
- RFC: Return Type Declarations — Предложение по реализации type-hinting для возвращаемых значений уже упоминалось в дайджесте, была добавлена реализация, так что есть все шансы увидеть это в действии в скором времени.
Инструменты
- Monolog — Самая популярная PHP-библиотека для логирования.
- Open source инструменты от компании Box — Известный сервис хранения данных Box выложил в общий доступ ряд своих внутренних инструментов среди которых и PHP-решения.
- Gaufrette — Библиотека, предоставляющая абстрактный слой для работы с файловой системой. Позволяет прозрачно взаимодействовать как с локальным хранилищем, так и с удаленными. Ранее упоминалось похожее решение – библиотека Flysystem.
- Obfuscalp — Инструмент позволяет находить и удалять подозрительный / вредоносный код в PHP скриптах.
- sabre/http — Библиотека для удобной работы с HTTP запросами и ответами.
- ZFDeploy — Инструмент для развертывания ZF2-приложений.
- Structr — Определение, валидация и обработка структур данных на PHP. Взгляните на пример, чтобы оценить эту интересную идею.
- Database Backup Manager — Библиотека позволяет делать резервные копии баз данных и сохранять их в S3, Dropbox, FTP, SFTP и другие хранилища.
- PINQ — Аналог LINQ для PHP. Хотя подобных реализаций достаточно много, даже была на Хабре.
- Pattern Lab — Генератор статических сайтов.
- js-search — Поисковый движок для статических сайтов.
- Rollout PHP — Порт популярного инструмента из Ruby-мира Rollout.
- Ardent — Альтернативная реализация коллекций для PHP.
- Cartographer — Sitemap-генератор.
- Bldr — Система сборки / запуска задач для PHP.
- Thelia — E-commerce решение на базе Symfony 2.
Материалы для обучения
- Начинаем работу с PHP Underscore — Популярная JavaScript-библиотека Underscore.js была портирована на PHP в видеUnderscore.php. По ссылке вводный туториал.
- Версионирование баз данных с помощью DBV — Туториал по dbv.php.
- Версионирование баз данных с помощью миграций на Ladder — На этот раз туториал по использованию инструмента миграций Ladder. Также для миграций в PHP есть другие более популярные инструменты: Phinx, Ruckusing, Phpmig.
- Запуск Composer с помощью HHVM – не так быстро! — Как оказалось, HHVM превосходит PHP по скорости при выполнении composer update, но для composer install ситуация противоположная.
- Обеспечиваем соблюдение стандартов благодаря Composer, Git-хукам и phpcs
- Гибкая PHP-разработка с помощью PHPFarm — Если возникает необходимость протестировать код на различных версиях PHP на помощь приходят инструменты virtPHP, phpenv, PHPFarm. Использованию последнего и посвящен пост.
- Обзор компонентов Symfony 2: Process — Ранее также были: ExpressionLanguage, Finder, Validator, Routing, Config,EventDispather, HttpKernel, Translation, Templating, ExpressionLanguage, Finder.
- Кортежи в PHP — В PHP в отличие, например, от Python нет встроенного типа данных «кортеж», в посте продемонстрирована идея реализации кортежей на основе SPLFixedArray.
- Храним PHP-сессии или кэш в памяти с помощью TMPFS — Автор показывает как можно организовать хранение файлов сессий в памяти без использования сторонних решений вроде memcached или Redis. Для этого предлагается задействовать виртуальную файловую систему TMPFS. Очевидный плюс такого решения – скорость реализации, так как не требуется изменение приложения.
- Реализация мультиязычности — Советы и рекомендации по реализации поддержки мультизычности в PHP-приложении.
- Пара туториалов о внедрении зависимостей в контроллерах в ZF2, 2
- Как создать элемент формы, использующий внешние зависимости с помощью FormElementManager
- Тестирование контроллеров Laravel 4
- Использование событий модели в Laravel 4
- Memberships with Laravel Cashier — В туториале рассмотрено использование пакета Laravel Cashier на примере создания сайта с платным доступом.
- Как работает GZIP сжатие
- Yii + WordPress = <3, или Увлекательный эксперимент получения Франкенштейна — О скрещивании WordPress и Yii.
- Установка поиска Sphinx для PHP и MySQL, 2
- Использование Phing для деплоя и не только
- Чат-бот приложения через skype, jabber и whatsapp
- Переход на PHP 5.5 и юнит-тесты
- Одно из мнений о будущем PHP — Перевод поста от Энтони Феррара, в котором он рассматривает последние тенденции PHP-мира: PHP 6, HHVM и Hack.
- Опциональные зависимости не нужны — О неправильном использовании директивы suggest в описании composer-зависимостей.
- Обнаружена уязвимость функционала «remember me» в Laravel — О нашумевшей проблеме безопасности в Laravel. Также подборка ссылок по теме от русскоязычного сообщества Laravel.
- PHP-расширение dom_varimport: быстрое преобразования вложенных массивов в DOMDocument
- Начинаем работать с графовой базой данных Neo4j
Материалы c прошедших конференций
- Lone Star PHP 2014 — Слайды докладов.
Аудио и видеоматериалы
- PHP 5.6 за 10 минут
- Symfony 2 и REST API — Введение в создание RESTful приложений на Symfony 2.
- О том как устроен и как работает virtPHP
- Роутинга в Symfony 2 — Короткий видеообзор.
- Введение Codeception и его использование в Yii
Занимательное
- В сеть просочился исходный код популярного ресурса 4chan
- PHP Virgin — Нестандартный подход к изучению PHP.
Автор: Роман Понский