- PVSM.RU - https://www.pvsm.ru -

Дайджест интересных новостей и материалов из мира PHP за последние две недели №8 (29.12.2012 — 11.01.2013)

Дайджест интересных новостей и материалов из мира PHP за последние две недели №8 (29.12.2012 — 11.01.2013)

Новогодние праздники подходят к финишу, и мы снова в строю со свежей порцией новостей и материалов из мира PHP.

Приятного чтения!

Дайджест интересных новостей и материалов из мира PHP за последние две недели №8 (29.12.2012 — 11.01.2013) Новости и релизы

  • Принят PSR-3 [1] — Принят стандарт, регламентирующий единый интерфейс представления логов для PHP приложений. Немного личных мыслей и критики [2] на тему.
  • Yii 1.1.13 [3] — Прямо под Новый год свет увидела свежая версия фреймворка. Кардинальных изменений релиз не принес, но, тем не менее, список изменений насчитывает около 70 улучшений и более 50 исправлений. Полный список можно посмотреть здесь [4].
  • 10й выпуск журнала Web & PHP [5] — В выпуске раскрыты следующие темы: 5 смертельных грехов программиста; Индексирования в базах данных; 10 фактов о социальных медиа для бизнеса; и другие.
  • Codeception 1.5 [6] — Мажорный релиз отличного инструмента для тестирования, который включает в себя несколько интересных возможностей. Одна из которых — генерация отчетов о покрытии кода. Кроме того новые Redis и MongoDb модули, улучшения UX и множество исправленных ошибок.
  • Symfony 2.2 Beta 1 [7] — Также в свет вышла первая бета Symfony под версией 2.2. Выпуск беты ознаменовывает конец фазы разработки, то есть новых возможностей добавлено не будет за исключением поддержки PSR-3 [1] и добавления нескольких [8] еще несмерженных пул-реквестов. Финальный релиз следует ожидать к концу февраля. Подробнее о новых возможностях можно почитать тут [9], тут [10] и тут [11].

Дайджест интересных новостей и материалов из мира PHP за последние две недели №8 (29.12.2012 — 11.01.2013) PHP

  • Избавляемся от дублирования сквозного кода в PHP: рефакторинг кода с АОП [12] Дайджест интересных новостей и материалов из мира PHP за последние две недели №8 (29.12.2012 — 11.01.2013) — Отличнейший хабрапост, в котором автор рассматривает проблемы дублирования сквозного кода. Приводит классические пути решения этих проблем в ООП стиле, указывая при этом на плюсы и минусы каждого подхода. После чего приводятся подробные примеры решения типичных задач (логирования и кэширования) путем рефакторинга кода в аспектном стиле с использованием библиотеки Go! AOP [13].
  • Мультизадачность на PHP [14] — Видеозапись отличной презентации, в которой раскрыта тема мультизадачности в PHP для решения типичных задач, как, например, пакетная обработка данных или создание демонов. Автор говорит о базовых понятиях мультизадачных систем: сравнивает процессы и потоки, форкинг, состоянии гонки, семафорах и мьютексах.
  • 2012: Год на PHP [15] — В прошлом выпуске мы делали обзор самых значимых событий в мире PHP за 2012 год. Подобный обзор сделал и автор поста, кроме событий выделив также направления развития, обозначившиеся за год. Также автор делает предположения, касающиеся уже текущего 2013 года, предсказывая улучшение в области DiC и более активному использованию BDD [16] c помощью PHPSpec [17] и Behat. Также небольшое обсуждение [18] с интересными предположениями на 2013 год для PHP доступно на reddit.
  • PHP приложения и PaaS [19] — В посте автор коротко рассматривает три основных, по его мнению, провайдера на рынке PaaS решения для PHP, а именно Engine Yard/Orchestra, PagodaBox и AppFog. Последний заинтересовал автора больше остальных, и он подробнее рассказал о процессе регистрации, создании и конфигурировании приложения на нем.

Дайджест интересных новостей и материалов из мира PHP за последние две недели №8 (29.12.2012 — 11.01.2013) Материалы для обучения

  • Создаем поисковый движок на PHP [20] — Хороший пост из 5 частей о создании собственного поисковика на чистом PHP. Исходный код результата доступен на GitHub [21].
  • Мой первый скрипт по разгадыванию капчи [22] Дайджест интересных новостей и материалов из мира PHP за последние две недели №8 (29.12.2012 — 11.01.2013) — В промежутках между обеденными перерывами Почта России строит козни честным разработчикам в виде дополнительных средств защиты. В посте автор рассказывает о личном опыте распознавания капчи на PHP.
  • Что нового в Laravel 4 [23] — Вопрос о том, когда же выйдет версия 4, наверное, один из самых часто задаваемых вопросов по Laravel. И, к сожалению, конкретного ответа на данный момент нет — выйдет, когда будет готов. В текущем виде стадию, в которой находится фреймворк можно охарактеризовать как что-то между пре-бета и бета. Но пощупать [24] готовящийся релиз можно уже сейчас. А в посте автор рассказывает о некоторых новых возможностях и улучшениях Laravel 4.
  • Почему некоторые PHP разработчики любят статические API? [25] — Существует 10 типов разработчиков: те, кто безумно любят статические методы, потому что они просты в использовании, и те, кто считает, что их придумал сам дьявол, чтобы испытать преданность правильному программированию. В статье автор делится своим опытом и объясняет, почему некоторые разработчики игнорируют лучшие практики и используют слишком много статических методов.
  • Программирование с Anthony — Внедрение зависимости [26] — Продолжение серии обучающих видео от маэстро Anthony Ferrara. На этот раз речь пойдет о Dependency Injection. Вся серия доступна тут [27].
  • Используем SSH и SFTP на PHP [28] — Подробный туториал о работе с SSH и SFTP в PHP приложениях с использованием библиотеки ssh2 [29]. Примеры прилагаются.
  • Composer и версии [30] — Небольшой пост об использовании великолепного инструмента для управления зависимостями на PHP, в котором автор дает рекомендации о правильном указании версий и веток.
  • Вам нужны тесты… только пока рано [31] — В посте автор размышляет на тему необходимости тестирования кода. И если вы все еще работаете над реализацией деталей и выясняете можно ли получить желаемый результат, то, возможно, тестировать пока нет необходимости, что, впрочем, очевидно.
  • Мысли о структуре директорий [32] — В своей заметке автор говорит о том, что стандартная структура директорий в ZF2, которую можно всюду наблюдать, это всего лишь рекомендация. Не стоит идти на поводу такого подхода, если очевидно, что другая структура для вашей задачи подойдет лучше. Автор приводит пример и рекомендации по изменению структуры директорий.
  • Кэширование сущностей Doctrine с помощью Couchbase [33] — Подробный туториал, в котором автор, собственно, показывает, как использовать Couchbase в качестве кэша для сущностей Doctrine.
  • Используем несколько PDO соединений с базой в Symfony2 через DIC [34] — «Небольшая заметка, в которой автор сначала демонстрирует привычный способ конфигурации нескольких соединений с базой в файле „parameters.yml“. После этого автор демонстрирует более продвинутый подход, конфигурируя соединения в отдельном файле и создав класс Db, который позволяет получать полностью сконфигурированные и готовые к использованию PDO объекты из контейнера.
  • 13 вещей, которые пользователи ненавидят в документации вашего проекта с открытым кодом [35] — Почти у каждого программиста есть код, которым он хотел бы поделиться или уже делится с сообществом. Однако то, насколько этот код будет полезен другим разработчикам, во многом зависит от качества документации. В статье собраны ошибки, которые наиболее часто допускают разработчики при документировании собственных трудов.
  • Почему FastCGI с Nginx настолько быстрее Apache с mod_php? [36] — В своем посте автор делает несколько тестов на „hello world“ приложении и пытается понять, почему Nginx быстрее Apache. Его исследование показало, что значительный удар по производительности Apache наносит обработка файлов .htaccess, а ее отключение (AllowOverride None) меняет ситуацию и Apache обгоняет Nginx.
  • Клон Twitter на PHP [37], 2 [38] — Пара туториалов, в которых подробно описано создание полноценного клона Twitter с нуля. Демо [39] и полный код [40] также имеются.
  • Дело было вечером, echo «было нечего» [41] — В предыдущих [42] выпусках [43] дайджеста были ссылки на эксперименты, в которых авторы пишут PHP скрипт без использования числовых и буквенных символов. На этот раз имеем хабрапост с продолжением экспериментов и описанием PHP функции без использования символов a-zA-Z0-9<>?.

Ссылка [42] на предыдущий выпуск.
Материал подготовили dbritan [44], nesttor [45] и pronskiy [46]

Автор: alexzfort

Источник [47]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/news/24605

Ссылки в тексте:

[1] Принят PSR-3: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md

[2] личных мыслей и критики: http://blog.stuartherbert.com/php/2012/12/29/personal-thoughts-on-the-psr-3-log-proposal/

[3] Yii 1.1.13: http://www.yiiframework.com/news/65/yii-php-framework-1-1-13-is-released/

[4] здесь: http://www.yiiframework.com/files/CHANGELOG-1.1.13.txt

[5] 10й выпуск журнала Web & PHP: http://webandphp.com/issue-10

[6] Codeception 1.5: http://codeception.com/01-08-2013/codeception-codecoverage.html

[7] Symfony 2.2 Beta 1: http://symfony.com/blog/symfony-2-2-0-beta-1-released

[8] нескольких: http://symfony.com/blog/symfony-2-2-schedule-update

[9] тут: http://symfony.com/blog/new-in-symfony-2-2-security-utilities

[10] тут: http://symfony.com/blog/new-in-symfony-2-2-logging-of-deprecated-calls

[11] тут: http://symfony.com/blog/new-in-symfony-2-2-better-interaction-from-the-console

[12] Избавляемся от дублирования сквозного кода в PHP: рефакторинг кода с АОП: http://habrahabr.ru/post/165329/

[13] Go! AOP: https://github.com/lisachenko/go-aop-php

[14] Мультизадачность на PHP: http://jonathonhill.net/2012-12-19/video-multi-tasking-in-php/

[15] 2012: Год на PHP: http://techportal.inviqa.com/2013/01/08/2012-a-year-in-php/

[16] BDD: http://en.wikipedia.org/wiki/Behavior-driven_development

[17] PHPSpec: http://www.phpspec.net/

[18] обсуждение: http://www.reddit.com/r/PHP/comments/15ti76/your_predictions_for_php_in_2013/

[19] PHP приложения и PaaS: http://unassumingphp.com/php-apps-and-platform-as-a-service/

[20] Создаем поисковый движок на PHP: http://searchco.de/blog/view/code-for-a-search-engine-in-php-part-1/

[21] GitHub: https://github.com/boyter/Phindex

[22] Мой первый скрипт по разгадыванию капчи: http://habrahabr.ru/post/164903/

[23] Что нового в Laravel 4: http://phpmaster.com/whats-new-in-laravel-4/

[24] пощупать: https://github.com/illuminate/app

[25] Почему некоторые PHP разработчики любят статические API?: http://philsturgeon.co.uk/blog/2012/12/why-do-some-php-devs-love-static

[26] Программирование с Anthony — Внедрение зависимости: http://blog.ircmaxell.com/2013/01/dependency-injection-programming-with.html

[27] тут: https://www.youtube.com/playlist?list=PLM-218uGSX3DQ3KsB5NJnuOqPqc5CW2kW&feature=view_all

[28] Используем SSH и SFTP на PHP: http://phpmaster.com/using-ssh-and-sftp-with-php/

[29] ssh2: http://pecl.php.net/package/ssh2

[30] Composer и версии: https://igor.io/2013/01/07/composer-versioning.html

[31] Вам нужны тесты… только пока рано: http://www.littlehart.net/atthekeyboard/2013/01/07/you-need-tests-just-not-yet/

[32] Мысли о структуре директорий: http://akrabat.com/zend-framework-2/thoughts-on-module-directory-structure/

[33] Кэширование сущностей Doctrine с помощью Couchbase: http://nitschinger.at/Caching-Doctrine-Entities-with-Couchbase

[34] Используем несколько PDO соединений с базой в Symfony2 через DIC: http://gonzalo123.com/2013/01/07/handling-several-pdo-database-connections-in-symfony2-through-the-dependency-injection-container-with-php/

[35] 13 вещей, которые пользователи ненавидят в документации вашего проекта с открытым кодом: http://blog.smartbear.com/software-quality/bid/256072/13-reasons-your-open-source-docs-make-people-want-to-scream

[36] Почему FastCGI с Nginx настолько быстрее Apache с mod_php?: http://www.eschrade.com/page/why-is-fastcgi-w-nginx-so-much-faster-than-apache-w-mod_php/

[37] Клон Twitter на PHP: http://net.tutsplus.com/tutorials/html-css-techniques/build-a-twitter-clone-from-scratch-the-design/

[38] 2: http://net.tutsplus.com/tutorials/php/building-ribbit-in-php/

[39] Демо: http://ribbitphp.pagodabox.com/

[40] полный код: https://github.com/NETTUTS/Ribbit-PHP

[41] Дело было вечером, echo «было нечего»: http://habrahabr.ru/post/165013/

[42] предыдущих: http://habrahabr.ru/company/zfort/blog/164295/

[43] выпусках: http://habrahabr.ru/company/zfort/blog/162661/

[44] dbritan: http://habrahabr.ru/users/dbritan/

[45] nesttor: http://habrahabr.ru/users/nesttor/

[46] pronskiy: http://habrahabr.ru/users/pronskiy/

[47] Источник: http://habrahabr.ru/post/165513/