Дайджест интересных новостей и материалов из мира PHP (26 января — 9 февраля 2014)
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Новости и релизы
- Обновления PHP 5.5.9 и PHP 5.4.25 — Исправлены ошибки, в том числе в PHP 5.5.9 устранена уязвимость в расширении GD, позволяющая инициировать переполнение кучи при обработке специально оформленных изображений через функцию imagecrop().
- PSR-7 HTTP message interfaces — Черновик нового стандарта от группы PHP-FIG.
- Mockery 0.9.0 — Свежая версия популярного инструмента создания моков.
- HHVM 2.4.0 — Обновление виртуальной машины PHP. В основном лишь исправления ошибок.
- React v0.4.0 — Свежая версия «node.js для PHP». Подробно о React рассказывал сам автор.
PHP
- RFC: Улучшить эскейпинг HTML — Предложение эскейпить ”/” обернулось интересной дискуссией в php.internals.
- RFC: debug-info — Вероятнее всего уже в PHP 5.6 будет добавлен новый магический метод
__debugInfo()
, который будет возвращать отладочную информацию об объекте.
Инструменты
- Duct — Библиотека для непрерывного парсинга JSON.
- Phrocco — Генератор красивой и удобной документации для PHP. Порт Docco.
- Fractal — Библиотека предоставляет слой представления и преобразования данных сложного вида, часто встречающихся в RESTful API.
- Its Continuous! — Микроприложение для непрерывной интеграции PHP-проектов.
- Phystrix — Библиотека для решения проблемы отказоустойчивости распределенных систем. Порт Java-библиотекиHystrix.
- Puli — Библиотека, которая предоставляет доступ к файлам вашего PHP проекта через единую систему именования. Имеется также плагин для Composer.
- Alice — Генератор фикстур, позволяющий описывать данные для тестирования в простом для чтения и редактирования виде.
- Pest — Библиотека PHP-клиент RESTful веб-сервисов.
- LiipMonitor — Библиотека для мониторинга работоспособности систем приложения.
- ohmy-auth — Библиотека для работы с OAuth-сервисами в стиле текучего интерфейса (цепочек вызовов) и promise’ов.
- Assert — По сути библиотека валидации данных. Пост с описанием от автора.
- Recoil — Библиотека от автора React, реализующая многозадачность в PHP c помощью корутин .
Материалы для обучения
- Кропаем изображения в PHP на основе энтропии — Подгонка изображения до нужных размеров путем обрезания сторон задача тривиальная и возникающая ежедневно. Чаще всего в результате остается центральная часть изображения. Но что, если основной объект находится не по центру? Автор предлагает решение, при котором выбирается наиболее информативная часть изображения. По ссылке пост с описанием идеи, готовое решение реализовано в виде библиотеки Crop.
- Программирование Google Glass на PHP — Новая книга для тех, кто уже сегодня хочет заглянуть в будущее.
- 4 Reasons Why All PHP Frameworks Suck — Не так давно Расмус на конференции PHP Frameworks Days в Киеве высказал мысль о том, что фреймворки часто не нужны . В посте по ссылке проанализированы его основные тезисы, а также что это значит для PHP-разработчиков.
- Использование веб-сокетов в PHP приложениях. Silex и socket.io вместе. — Автор поста рассматривает проблему аутентификации при работе с веб-сокетами. Также прилагается скринкаст .
- SOAP и PHP в 2014 — Несмотря на тотальное доминирование REST, у SOAP есть определенные преимущества, о которых и пишет автор. Также описаны базовые принципы использования SOAP с примерами на PHP.
- Произвольная точность и большие числа в PHP — В PHP, к сожалению, нет нативной поддержки больших чисел в отличие, например, от Python, однако решения существуют. В посте рассмотрены 3 модуля для работы с большими числами и арифметикой произвольной точности в PHP: GMP, BC Math и php-bignumbers. Приведены примеры: подсчет числа Пи и RSA-шифрование, а также бенчмарки модулей.
- Синглтоны и PHP — о синглтоне, паттернах и антипаттернах. В тему забавный хак от NightTiger, в котором демонстрируется создание более одного экземпляра синглтона.
- Управляем зависимостями проекта с помощью Bower и Composer
- Настраиваем локальное зеркало для Composer-пакетов с помощью Satis — Подобное решение уже было рассмотрено в постах об использовании Satis для быстрого и надежного развертывания приложений и о кэшировании пакетов для Composer .
- Используйте HHVM чтобы ускорить Composer — Небольшая заметка, суть которой сводится к
alias composer='hhvm /usr/local/bin/composer'
. - Шпаргалка от OWASP по безопасности в PHP
- 4 HTTP заголовка, которые следует использовать для безопасности.
- Делаем PHP безопаснее: введение в Augmented Types — Пост в поддержку расширения Augmented Types, реализующего type hinting на основе аннотаций.
- HHVM c Symfony 2 выглядят превосходно — Немного бенчмарков.
- WordPress как полноценный фреймворк — Статья по понятным причинам вызвала горячую дискуссию в комментариях.
- PHP — Best Practises — Советы для молодых разработчиков.
- Начинаем работу c Phalcon, 2
- Как использовать фильтры в Laravel 4
- Laravel 4: File-Based CMS — Продолжение серии исчерпывающих туториалов по Laravel.
- Node.js vs Laravel — Сравнение сильных и слабых сторон технологий.
- Трюки и хаки PhpStorm — Несколько полезных советов для повышения эффективности работы с PHPStorm.
- zephir-boost-yii — Рабочий концепт на Zephir — ядро фреймворка Yii 2.
- Пример использования mongoDB — Вкратце о MongoDB и использовании в Yii Framework.
- SQL-injection в Yii framework — В статье на примере Yii продемонстрировано какой код уязвим, а какой нет.
- print или echo, что быстрее?
- Лучшие практики и рекомендации по защите php-приложений от XSS-атак
- PhpBrew. Менеджер версий PHP. (+ установка и использование в Ubuntu 13.10) — Пост об инструменте phpbrew, который позволяет использовать несколько разных версий интерпретатора на одной машине.
- Делаем вебсокеты на PHP с нуля. Часть 2. — Отличный пост, в котором автор делится опытом написания своего простого вебсокет-сервера на PHP. Первая часть тут.
- Пример работы jQuery UI + PHP и GD. Нанесение аппликаций на изображение
- Горизонтальное масштабирование PHP приложений.
- Нестандартное применение IT в быту: парсинг, перцептивный хеш, сравнение изображений = оптимизация расходов— Отличный пост, в котором автор поделился опытом решения задачи сравнения изображений в случае, когда они могут быть разного размера, с нанесенными водяными знаками, скорректированными цветами и другими искажениями.
- Использование EXPLAIN. Улучшение запросов — Об оптимизации MySQL-запросов.
- VagrantWebdev — виртуальная среда для веб-разработки
Материалы c прошедших конференций
- SunshinePHP 2014 — Слайды всех докладов с масштабной PHP-конференции, проходившей в Майами.
Аудио и видеоматериалы
- PHPStorm Test Workflow
- PHPSpec так хорош — Небольшой туториал по использованию PHPSpec.
- Подкаст Laravel.IO №9 — Перевод подкаста, в котором создатель Laravel Тейлор и другие участники сообщества обсуждают фреймворк, его будущее и смежные темы.
- Подкаст Voices of the ElePHPant #5 — Неформальная беседа с известными личностями из PHP-сообщества: Sara Golemon (HHVM), Derick Rethan (Xdebug), Illia Alshanetsky, Ben Ramsey.
Занимательное
- Интервью с создателем популярного микрофреймворка Slim
- TDD может быть не для вас. Маленький экскурс в психологию разработчика
- XXX Framework vs. YYY Framework — На ресурсе можно сравнить друг с другом многие популярные фреймворки.
- Статистика по использованию Vagrant — «PHP используется на 58% рабочих машин созданных с помощью Vagrant» и другие цифры в инфографике.
- Какой язык программирования лучше всего изучать в 2014? — Результаты опроса популярности языков программирования.
- Фиолетовые слоники PHP — Вслед за успешной кампанией оранжевых PHP-слоников от php[architect] сообщество PHPWomen запустило свою кампанию и уже собрали необходимую сумму.
Автор: Роман Понский