Boroda aka Hamster (fantaseour) wrote,
Boroda aka Hamster
fantaseour

Category:

PHP, Dependency Injection and Phemto

Вы уж извините, я опять про инъекцию зависимостей. Наверное последний раз уже.

Кроме контейнера от Симфони, есть еще одна библиотека. Она называется Phemto. Написана Маркусом Бэйкером, автором SimpleTest. Она лаконичная и краткая до ужаса, поэтому стоит внимания и изучения. К сожалению, на самом сайте в онлайне лежит очень краткая заметка, однако внутри дистрибутива имеется более подробное руководство. Кроме того кратко и понятно объясняется работа паттерна. От хардкода, через фабрику, реестр и сервис-локатор к контейнеру управления зависимостями.

Я не поленился и перевел статью, т.к. мне кажется она может быть очень полезной. Однако на хабр пока не получилось ее положить — не справился с подсветкой кода, а без нее как-то не здорово. Поэтому выложил пока отдельным файлом. Если придумаю как переложу на хабру.

UPD Переложил: часть 1, часть 2. Сказалась неопытность в публикации статей на хабре. И целиком не влезла, и подсветка синтаксиса должна быть через тэг font. Вот тут есть инструмента.

Ссылки по ресурсам о DI:

1. Zend Framework тоже может заиметь DI-контейнер
2. Agildev.ru, Управление зависимостями в PHP-коде
3. DI-Контейнер от Symfony
4. PICO-контейнер на Java от которого все остальное произошло
5. Антипатерны использования DI
6. Презентация Джеффа Мура на PHP-tek, 2007
Tags: development, patterns, php
Subscribe

  • Так. Чуть не бросил дневник :)

    Ну вот, хотел не бросать и опять сюда не пишу :( Потому, что в будние дни сил нет писать, а в выходные вот то у меня ДР, то у пасынка. То просто…

  • 46

    Дня рожденья пост. Ну ничего, мы еще позажигаем :)

  • (no subject)

    Я очень люблю конференции. Они зажигают в разработчике свечечку, которую он потом бережно несет в себе через весь год! Когда-то давно, я с завистью…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 6 comments