Поздравляем всех девушек и особенно PHP-разработчиц с прошедшим праздником! Всяческих вам успехов, любви и тепла!
И конечно же, вашему вниманию очередная подборка ссылок со свежими новостями, полезными инструментами и интересными материалами.
Приятного чтения!
Новости и релизы
- Релиз KPHP и движков — ВКонтакте опубликовали исходный код своей альтернативной реализации PHP – KittenPHP. Вместе с компилятором под открытой лицензией разработчики также выложили набор движков, которые могут быть использованы и отдельно от KPHP.
- Вышел в свет PHPUnit 4.0.0 — Свежий релиз легендарного инструмента тестирования с поддержкой HHVM и другими нововведениями.
- Apigility 0.9.0 — Обновление инструмента от Zend для быстрого создания всевозможных API на основе Zend Framework 2.
- Стартовала программа раннего доступа для PhpStorm 8
- Релизы PHP — Выпущены обновления для актуальных веток: PHP 5.5.10 и PHP 5.4.26. В релизах устранены проблемы безопасности, в связи с чем всем пользователям рекомендуется обновиться.
Кроме того, вышла третья и последняя альфа-версия PHP 5.6. Первый бета-релиз, а значит, и feature freeze, следует ожидать уже 20 марта. - Исходный код Mt.Gox — Совсем недавно крупнейшая биткоин-биржа Mt.Gox объявила о банкротстве. В сеть просочился код биржи, который доступен по ссылке.
PHP
- RFC: arrayof — Предложение по улучшению type hinting для массивов было отклонено на голосовании.
- PHP 6: идеи для ZendEngine — Наряду с общими идеями для PHP 5++, в php.internals активно обсуждаются планы по улучшению ядра интерпретатора.
Инструменты
- virtPHP — Благодаря этому инструменту стало возможным совершенно легко использовать сразу несколько изолированных PHP-окружений на одной машине. То, что уже давно было в Ruby и Python теперь и в PHP. Используя также инструменты phpenv и php-build можно создавать полностью независимые виртуальные окружения.
Кроме того, пост в тему, о том, чем полезны виртуальные окружения. - Respect/Relational — Простая удобная ORM не требующая никакой предварительной конфигурации.
- Vent — Библиотека, реализующая систему событий для переменных на PHP.
- Regreph — Инструмент анализа регрессии производительности для PHP + XHProf.
- Phastlight — Асинхронный, собитийно-ориентированный инструмент командной строки и веб-сервер на PHP 5.3. Реализован на основе libuv, библиотеки, лежащей в основе Node.js.
- Phactory — Библиотека генерации тестовых объектов, как альтернатива фикстурам. Автора вдохновляла Factory Girl из Ruby.
- ImageCow — Библиотека, решающая проблему адаптивных изображений.
- Altax — Еще один инструмент развертывания приложений для PHP.
- Teapot — Простая, но полезная библиотека, предоставляющая структурированный набор констант для статус-кодов HTTP.
- Ansi — Простенькая библиотека, позволяющая использовать цвета и форматирование в консольных приложениях на PHP.
- PHPCR — Реализация стандарта хранилища содержимого на PHP. Чуть подробнее об использовании можно прочитать в журнале Web&PHP.
Доступна также другая реализация – Jackalope. - phpSec — Библиотека, помогающая в решении типичных задач безопасности приложений, с которыми сталкиваются PHP-разработчики.
- WP-CLI — Интерфейс командной строки для WordPress.
- PHP-Vars-To-Js-Transformer — Передаем PHP-переменные в JavaScript прозрачно.
- php-CLIFramework — Фреймворк для создания приложений командной строки.
- libphonenumber for PHP — Как можно догадаться из названия, PHP-реализация библиотеки libphonenumber от Google. Позволяет парсить телефонные номера и получать подробную информацию о них: демо.
- PHPepl — Веб-REPL для PHP: демо.
- FUnit — Микрофреймворк для модульного тестирования на PHP.
- PHP Shell Wrapper — Выполняем системные команды в ООП стиле.
- whoops! — Библиотека позволяет выводить красивые и главное информативные страницы ошибок и необработанных исключений.
- Stash — Отличная библиотека для реализации кэширования.
- Promises — Реализация промисов на PHP. По сути удобная оболочка над pthreads.
Материалы для обучения
- Мультяшный фильтр изображений на PHP QB — Альтернативная реализация PHP – QB теперь доступна в виде расширения. Статическая типизация реализуется в виде аннотаций. Супербыстрая низкоуровневая работа с пикселями и векторами позволяет делать очень интересные вещи. Еще один пример – фрактал Мандельброта.
- Высокая производительность для вашего PHP-приложения с помощью ReactPHP — Автор демонстрирует, как используя ReactPHP и менеджер процессов php-pm повысить производительность Symfony-приложения со 130 запросов в секунду до 2000.
- Идеальное рабочее окружения для PHP на Android — Превращаем планшет в рабочую станцию. Автор использует VIM Touch и Palapa Web Server.
- Автоматическое внедрение зависимостей в объекты PHP — Небольшое дополнение Pimple. Объявляем тип аргумента с помощью type hinting, а благодаря рефлексии внедряем нужную зависимость на лету. Код на GitHub.
- Работаем с PHP и Beanstalkd — Небольшой, но хороший вводный туториал по реализации системы очередей и фоновому выполнению задач с помощью Beanstalkd и библиотеки Pheanstalk.
- Swagger в ZF2, 2 — Пара заметок об использовании Swagger для автоматической генерации документации на основе аннотаций. Если вы еще не использовали Swagger для документирования и тестирования ваших API, то рекомендую обратить на него внимание: демо Swagger UI.
- Даты это сложно — Разрабатывая библиотеку Uuid for PHP, которая реализует генерацию идентификаторов UUID, автор столкнулся с неочевидным поведением функций дат в PHP.
- Обзоры компонентов Symfony2: Validator, Routing, Config, EventDispather, HttpKernel
- Фикстуры данных в Symfony2
- Функциональное тестирование в Symfony2 — Небольшой вводный туториал, используется WebTestCase.
- Вскрытие: HHVM vs Zephir vs PHP — Хорошее сравнительное описание и тест трех претендентов. Код и описание теста на GitHub, результаты тут.
- Реализация MySQLi в HHVM — О том, как проходила работа по реализации поддержки MySQLi в HHVM, о том, что получилось и что планируется.
- HHVM: следующие 6 месяцев — Планы проекта на ближайшие полгода. Также ведется работа по обеспечению полной поддержки популярных PHP-фреймворков, кроме того, доступен ресурс со статистикой поддержки HHVM пакетами.
- Хранение Value Objects в Doctrine — Рассмотрено несколько подходов к хранению объектов-значений в Doctrine.
- Отладка с помощью Xdebug и Sublime Text 3
- Мысли о безопасности Composer в будущем — О проблемах безопасности в Composer, о работе по их устранению и перспективах.
- DateTimeImmutable — Пример работы с добавленным в PHP 5.5 классом DateTimeImmutable, сравнение с традиционным DateTime.
- Слухи о прекращении поддержки MySQL в PHP — Релиз менеджер PHP 5.3 комментирует сабж. На самом деле, конечно, имеется в виду исключение устаревшего расширения mysql из PHP, но это случится даже не в PHP 5.6.
- Шардирование с помощью MySQL Fabric на PHP — Fabric главным образом добавляет два механизма в MySQL: отказоустойчивость и шардирование. Благодаря плагину mysqlnd_ms в PHP пока возможно использование только шардирования, чему и посвящен пост. Подробнее о MySQL Fabric можно прочитать тут.
- Простая капча своими руками на PHP и GD
- PhpStorm Workshop — Изучите все возможности PhpStorm.
- Простой блог на PHP и MongoDB
- Yii2 дайджест новостей разработки #6 Март'14
- Два шаблона проектирования, которые сделают ваши приложения лучше — Паттерны репозиторий и шлюз в Laravel. И еще о репозитории.
- Структура больших Laravel-приложений — Как организовать код большого проекта.
- Laravel. Интернет-ресурсы
- Magento Enterprise: Что такое Full Page Cache и почему он нужен
- PHP и различные виды NoSQL — Отличный обзор доступных решений.
- Что общего у gamedev-а с космонавтикой или работа с итераторами в PHP — Примеры использования итераторов, а также реализация выборки хабрапостов из пересечения хабов.
- Контрактное программирование в PHP
- Вебсокеты на PHP. Часть 3. От чата до игры: Battle City — Те самые танчики на PHP.
Материалы c прошедших конференций
- Максимизируем производительность приложения на ZF2 (PDF) — Отличные советы в слайдах.
- Состояние Selenium Webdriver в PHP — Слайды доклада от Davert с Selenium Camp 2013.
- Сервис-ориентированная архитектура на Symfony2 — Слайды доклада c конференции ConFoo.
- Безопасность PHP-приложений (PDF) — Слайды доклада от Ильи Альшанетского с ConFoo.
Аудио и видеоматериалы
- Magento vs. X-Cart — Сравнение двух популярных e-commerce платформ.
- Symfony 2: Основы — Первый ролик из серии скринкастов для новичков, освещающих базовые концепции Symfony 2.
- Yii Training — Отличные скринкасты по Yii Framework 1.1. Раскрыты все темы начиная от установки и заканчивая мультиязычностью.
- PHP Town Hall: Эпизод 19 — В гостях Jeffrey Way создатель Laracasts и Laravel 4 Generators. Обсуждаются новости Laravel-мира.
- PHP Town Hall: Эпизод 20 — Phill Sturgeon беседует о Sculpin и Guzzle с их авторами, а также вместе обсуждают PSR-7.
Занимательное
- PHP чат комната на StackOverflow — В этом чате вы всегда можете пообщаться и задать вопросы Никите Попову, Энтони Феррара и другим грандам PHP-мира.
- FlyFramework — Забавная история, наделавшая шума в PHP-сообществе. Некто «создал» фреймворк FlyPHP, который на деле оказался просто копией кода Lravel с измененными названиями и удаленными копирайтами. Тейлор, автор Laravel, создал пул-реквест с просьбой вернуть копирайт на место.
- Пакеты: путь вперед для PHP — Phill Sturgeon в очередной раз рассуждает о фреймворках, истории PHP, пакетах и будущем.
- Новый PHP — Поистине мир PHP переживает эпоху возрождения, чему и посвящен пост в блоге издательства O’Reilly Media.
- Футболка PHP: Respect The Double-Claw — Легендарную футболку с изображением PHP-молотка теперь можно заказать в любую точку мира.
- PHP-бард в Twitter — Душа поет.
Вот уже 37 выпусков каждые две недели выходит PHP-дайджест. Но для того, чтобы выпуски становились еще лучше, предлагаю вам пройти краткий опрос.
Результаты будут опубликованы через две недели, и благодаря вам дайджест станет еще лучше!
Быстрый поиск по всем дайджестам
← Предыдущий выпуск
Автор: pronskiy