Новогодние праздники подходят к финишу, и мы снова в строю со свежей порцией новостей и материалов из мира PHP.
Приятного чтения!
Новости и релизы
- Принят PSR-3 — Принят стандарт, регламентирующий единый интерфейс представления логов для PHP приложений. Немного личных мыслей и критики на тему.
- Yii 1.1.13 — Прямо под Новый год свет увидела свежая версия фреймворка. Кардинальных изменений релиз не принес, но, тем не менее, список изменений насчитывает около 70 улучшений и более 50 исправлений. Полный список можно посмотреть здесь.
- 10й выпуск журнала Web & PHP — В выпуске раскрыты следующие темы: 5 смертельных грехов программиста; Индексирования в базах данных; 10 фактов о социальных медиа для бизнеса; и другие.
- Codeception 1.5 — Мажорный релиз отличного инструмента для тестирования, который включает в себя несколько интересных возможностей. Одна из которых — генерация отчетов о покрытии кода. Кроме того новые Redis и MongoDb модули, улучшения UX и множество исправленных ошибок.
- Symfony 2.2 Beta 1 — Также в свет вышла первая бета Symfony под версией 2.2. Выпуск беты ознаменовывает конец фазы разработки, то есть новых возможностей добавлено не будет за исключением поддержки PSR-3 и добавления нескольких еще несмерженных пул-реквестов. Финальный релиз следует ожидать к концу февраля. Подробнее о новых возможностях можно почитать тут, тут и тут.
PHP
- Избавляемся от дублирования сквозного кода в PHP: рефакторинг кода с АОП — Отличнейший хабрапост, в котором автор рассматривает проблемы дублирования сквозного кода. Приводит классические пути решения этих проблем в ООП стиле, указывая при этом на плюсы и минусы каждого подхода. После чего приводятся подробные примеры решения типичных задач (логирования и кэширования) путем рефакторинга кода в аспектном стиле с использованием библиотеки Go! AOP.
- Мультизадачность на PHP — Видеозапись отличной презентации, в которой раскрыта тема мультизадачности в PHP для решения типичных задач, как, например, пакетная обработка данных или создание демонов. Автор говорит о базовых понятиях мультизадачных систем: сравнивает процессы и потоки, форкинг, состоянии гонки, семафорах и мьютексах.
- 2012: Год на PHP — В прошлом выпуске мы делали обзор самых значимых событий в мире PHP за 2012 год. Подобный обзор сделал и автор поста, кроме событий выделив также направления развития, обозначившиеся за год. Также автор делает предположения, касающиеся уже текущего 2013 года, предсказывая улучшение в области DiC и более активному использованию BDD c помощью PHPSpec и Behat. Также небольшое обсуждение с интересными предположениями на 2013 год для PHP доступно на reddit.
- PHP приложения и PaaS — В посте автор коротко рассматривает три основных, по его мнению, провайдера на рынке PaaS решения для PHP, а именно Engine Yard/Orchestra, PagodaBox и AppFog. Последний заинтересовал автора больше остальных, и он подробнее рассказал о процессе регистрации, создании и конфигурировании приложения на нем.
Материалы для обучения
- Создаем поисковый движок на PHP — Хороший пост из 5 частей о создании собственного поисковика на чистом PHP. Исходный код результата доступен на GitHub.
- Мой первый скрипт по разгадыванию капчи — В промежутках между обеденными перерывами Почта России строит козни честным разработчикам в виде дополнительных средств защиты. В посте автор рассказывает о личном опыте распознавания капчи на PHP.
- Что нового в Laravel 4 — Вопрос о том, когда же выйдет версия 4, наверное, один из самых часто задаваемых вопросов по Laravel. И, к сожалению, конкретного ответа на данный момент нет — выйдет, когда будет готов. В текущем виде стадию, в которой находится фреймворк можно охарактеризовать как что-то между пре-бета и бета. Но пощупать готовящийся релиз можно уже сейчас. А в посте автор рассказывает о некоторых новых возможностях и улучшениях Laravel 4.
- Почему некоторые PHP разработчики любят статические API? — Существует 10 типов разработчиков: те, кто безумно любят статические методы, потому что они просты в использовании, и те, кто считает, что их придумал сам дьявол, чтобы испытать преданность правильному программированию. В статье автор делится своим опытом и объясняет, почему некоторые разработчики игнорируют лучшие практики и используют слишком много статических методов.
- Программирование с Anthony — Внедрение зависимости — Продолжение серии обучающих видео от маэстро Anthony Ferrara. На этот раз речь пойдет о Dependency Injection. Вся серия доступна тут.
- Используем SSH и SFTP на PHP — Подробный туториал о работе с SSH и SFTP в PHP приложениях с использованием библиотеки ssh2. Примеры прилагаются.
- Composer и версии — Небольшой пост об использовании великолепного инструмента для управления зависимостями на PHP, в котором автор дает рекомендации о правильном указании версий и веток.
- Вам нужны тесты… только пока рано — В посте автор размышляет на тему необходимости тестирования кода. И если вы все еще работаете над реализацией деталей и выясняете можно ли получить желаемый результат, то, возможно, тестировать пока нет необходимости, что, впрочем, очевидно.
- Мысли о структуре директорий — В своей заметке автор говорит о том, что стандартная структура директорий в ZF2, которую можно всюду наблюдать, это всего лишь рекомендация. Не стоит идти на поводу такого подхода, если очевидно, что другая структура для вашей задачи подойдет лучше. Автор приводит пример и рекомендации по изменению структуры директорий.
- Кэширование сущностей Doctrine с помощью Couchbase — Подробный туториал, в котором автор, собственно, показывает, как использовать Couchbase в качестве кэша для сущностей Doctrine.
- Используем несколько PDO соединений с базой в Symfony2 через DIC — «Небольшая заметка, в которой автор сначала демонстрирует привычный способ конфигурации нескольких соединений с базой в файле „parameters.yml“. После этого автор демонстрирует более продвинутый подход, конфигурируя соединения в отдельном файле и создав класс Db, который позволяет получать полностью сконфигурированные и готовые к использованию PDO объекты из контейнера.
- 13 вещей, которые пользователи ненавидят в документации вашего проекта с открытым кодом — Почти у каждого программиста есть код, которым он хотел бы поделиться или уже делится с сообществом. Однако то, насколько этот код будет полезен другим разработчикам, во многом зависит от качества документации. В статье собраны ошибки, которые наиболее часто допускают разработчики при документировании собственных трудов.
- Почему FastCGI с Nginx настолько быстрее Apache с mod_php? — В своем посте автор делает несколько тестов на „hello world“ приложении и пытается понять, почему Nginx быстрее Apache. Его исследование показало, что значительный удар по производительности Apache наносит обработка файлов .htaccess, а ее отключение (AllowOverride None) меняет ситуацию и Apache обгоняет Nginx.
- Клон Twitter на PHP, 2 — Пара туториалов, в которых подробно описано создание полноценного клона Twitter с нуля. Демо и полный код также имеются.
- Дело было вечером, echo «было нечего» — В предыдущих выпусках дайджеста были ссылки на эксперименты, в которых авторы пишут PHP скрипт без использования числовых и буквенных символов. На этот раз имеем хабрапост с продолжением экспериментов и описанием PHP функции без использования символов a-zA-Z0-9<>?.
Ссылка на предыдущий выпуск.
Материал подготовили dbritan, nesttor и pronskiy