Дайджест интересных новостей и материалов из мира PHP (1 января — 12 января 2014)
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Новости и релизы
- Laravel стал самым популярным PHP-репозиторием на GitHub — Вот так молодой фреймворк обогнал даже Symfony. Создатель фреймворка, Тейлор, прокомментировал это событие в своем посте .
- Обновления PHP 5.5.8 и 5.4.24 — Релизы актуальных веток с исправлениями ошибок.
- CakePHP 3.0.0 dev preview 1 — Свет увидела публичная превью-версия CakePHP 3. Быть может CakePHP еще рано списывать со счетов?
- В Composer реализована автозагрузка на основе PSR-4
PHP
- RFC: Распаковка списков аргументов — Еще одно отличное предложение принято и смержено в ветку PHP 5.6! Прощай call_user_func_array.
- Новые возможности PHP 5.6 — Бета релиза 5.6 еще не было, так что можно ожидать, что будут и другие новые возможности, но те, которые уже точно попадут в релиз рассмотрены в посте.
Инструменты
- PHP Option Type — Тип Option предназначен для случаев, когда иногда вам нужно возвращать значение (обычно объект), но при этом иногда значение может быть пустым (обычно null):
$this->findSomeEntity()->orElse($this->findSomeOtherEntity())->orElse($this->createEntity());
Подробнее можно прочитать в посте автора: Упрощаем алгоритмы с помощью опций. - Password Validator — Библиотека, призванная упростить использование нового API хэширования паролей, а также упростить обновление «старых» хэшей в приложении. Подробнее можно прочитать в посте автора.
- alpaca — Инструмент для автоматической генерации клиентских библиотек на php, nodejs, python, ruby для вашего API.
- Macaw — Маленький, простой, быстрый и удобный роутер.
- Recurr — Библиотека, предназначенная для работы с правилами повторения и переводом их в объекты DateTime.
- Minime\Annotations — Работаем с аннотациями легко и просто.
- MediaVorus — Библиотека для получения всей технической информации о файлах.
- turing-php — Реализация машины Тьюринга на PHP.
- PHP Project Starter — Инструмент командной строки, который позволяет разработчикам быстро создавать PHP-приложения, следующие общепринятым соглашениям и использующие лучшие в своем классе средства разработки.
Материалы для обучения
- Функциональная библиотека: Iteration, Traversal, Null — Серия отличных постов от Igor Wiedler, в которых он исследует состояние функционального программирования в PHP и рассматривает некоторые библиотеки для решения типичных задач.
- Дело в отношении функции ifsetor — Пост от Никиты Попова. Рассматривается проблема получения доступа к элементу массива, когда заранее неизвестно существует ли элемент с заданным ключом.
- Хранимые процедуры в MySQL и PHP — О том, когда использование хранимых процедур оправдано, их достоинства, недостатки и примеры.
- Создаем фотостену по тэгу с помощью Twilio и PHP — Пример создания приложения, использующего сервис Twillio для приема MMS-сообщений с изображениями.
- Вам не нужен фреймворк — О том, почему в эру PSR и Composer использование фреймворков вовсе не обязательно. В ответ был написан другой пост с контраргументами. И еще один пост в тему: фреймворки — это хорошо, компоненты — это круто.
- Очереди сообщений, сравнение Beanstalkd, IronMQ и Amazon SQS — Кратко о концепции очередей сообщений и о сильных и слабых сторонах трех обозначенных решений.
- Zend Certified PHP Developer 5.5 — Немного полезных материалов для подготовки к прохождению новой сертификации от Zend.
- Техническое интервью и вопросы для разогрева — Почему следует задавать простые вопросы для «разогрева» кандидата на собеседовании.
- Задача на PHP-собеседовании — Автор приводит пример простой задачи, которая была предложена ему на собеседовании: определить день недели по заданной дате. Рассмотрено решение.
- Используем Composer, чтобы устанавливать JavaScript, CSS и изображения в web-root — В посте показано как можно расширить использование Composer для установки не только PHP-пакетов, но и JS/CSS/изображений в папку отличную от vendor. Для этого предлагается использовать плагин Asset Manager.
- Magento 2 — Несколько постов об использовании новых возможностей грядущей версии.
- Играем с внедрением зависимости в PHP — Еще один неплохой пост о DI в PHP.
- Устанавливаем LAMP-стек на Debian — Подробная инструкция по установке как самой Debian, так и всех компонентов стека: Apache, MySQL, PHP 5.5, а также PostgreSQL, ImageMagick, GraphicsMagick и других.
- Приемочное тестирование с помощью Codeception
- Nginx, PHP 5.5 и Phalcon на OpenShift — Небольшое руководство по установке и нстройке nginx и Phalcon на OpenShiftинстансе.
- Декодируем TLS на PHP — В посте автор описал свои шаги по декодированию, а также поделился результатом.
- Тестовые шпионы и Mockery
- В чем принципиальная разница между Mockery и Prophecy?
- За пределами абстрактных классов — Серию интересных постов от Anthony Ferrara, решил продолжить Larry Garfield.
- PHP и Neo4j: введение в графовые базы данных — Первый пост из серии туториалов. Рассмотрены базовые принципы графовых БД. Хороший хабрапост по теме: Графовая база данных Neo4j в PHP .
- Уже почти 2014, а мы все еще комитим сломанный код — Для решения обозначенной проблемы автор предлагает использовать git-хуки и приводит пример скрипта, проверяющего на синтаксические ошибки Ruby, JavaScript, Python, Bash, Go и PHP код.
- Введение в Apache CouchDB для PHP-разработчиков
- Объяснение пространств имен в PHP с помощью персонажей Игры престолов
- PHP Internals Book — Книга, полностью посвященная внутреннему устройству PHP, была дополнена новыми главами о Zvals и системе билдов PHP.
- Создаем приложение для управления базой клиентов с помощью AngularJS и Laravel
- Laravel 4: Встроенные системы — Об использовании Arduino, веб-камеры и Laravel. Продолжение серии исчерпывающих туториалов по Laravel.
- Делаем ваш пакет независимым от фреймворка — Рассмотрен реальный пример модификации пакета, с тем чтобы сделать его независимым от фреймворка. А также мысли о том, почему так следует делать даже если вы не собираетесь использовать ваше решение с другим фреймворком.
- Простой краулер на PHP с помощью Goutte
- Лучшие фреймворки на 2014 год — На основе опроса популярности PHP-фреймоврков, автор выделяет тройку самых многообещающих фреймворков в наступившем году. Альтернативный опрос на Хабре показывает совсем другие результаты,
- Лучшие PHP фрэймворки на 2014 год — Мини-обзор десятка популярных и не очень PHP-фреймворков: Laravel, Flight, Yii, Medoo, PHPixie, CodeIgniter, Kohana, Symfony, Pop PHP, Phalcon.
- Шпаргалка по SOLID-принципам с примерами на PHP
- Подходы к оптимизации (веб-)приложений
- Как связать Yii Framework и Doctrine 2 ORM?
- Как я заставил работать API в Yiinitializr Advanced — В посте о принципах проектирования правильной архитектуры API, а также о том как быстро развернуть API для ваших проектов на Yii.
- Автоматическое тегирование кеша в Yii
- Создаем поведение (behavior) для Yii2
- Алгоритм нечёткой кластеризации fuzzy c-means на PHP
- Создание простого REST-приложения на Silex
- HHVM, Nginx и PHP (а также Laravel) — О том, как установить и настроить HHVM и nginx для запуска Laravel-приложений.
Аудио и видео материалы
- PHP Town Hall: Эпизод 17 — Интересная беседа с Sara Goleman, одной из главных разработчиц HHVM, а также Joe Watkins — разработчиком PHPDBG, который будет включен в PHP 5.6.
- Автозагрузка Larаvel-приложения на основе PSR-4
- Начинаем работу с Apigility — Подробнее о возможностях Apigility, инструменте от Zend для быстрого создания всевозможных API. Рассмотрено создание API, создание служб, авторизация и аутентификация, а также правила валидации.
- Laravel с нуля — Отличные скринкасты по Laravel.
Занимательное
- The Tribal Framework Mindset — Интересный пост от Phil Sturgeon, в котором он в очередной раз рассуждает о PHP-сообществе, а также о том, как некоторые технологии могут создавать эффект изоляции разработчиков вместо вовлечения их в сообщество в целом. Поводом для поста стало Laravel-сообщество. Забавно, ведь Laravel больше других фреймворков включает сторонних зависимостей. Создатель Laravel, Тейлор, ответил в своем посте: Объединяя PHP.
- Zend: Несколько мыслей на пороге 2014 — Немного итогов и планов от компании Zend.
- Забавные цитаты Расмуса
- Как и почему появился PHP-слоник? — Интервью с создателем культового elePHPant.
- На php.net добавили несколько пасхальных яиц — Попробуйте зайти на php.net, ввести одну из следующих комбинаций и нажать <enter>: «rotate», «mirror», «I hate PHP», «I love PHP».
Автор: Роман Понский