Comments 4
Паттерн конечно хороший, но autocomplete не будет работать =(, как и у других паттернов методы которых возвращают довольно таки общий интерфейс.
+1
спасибо за ссылку на зенд. раз уж пошла такая пьянка, то вот на этот проект о том же паттерне стоит взглянуть:
phemto.sourceforge.net/
Его автор — Маркус Бэйкер, тот, который написал SimpleTest.
Phemto, если глядеть на сайт, имеет весьма скудную документацию, и кажется заброшенным. Однако это далеко не так.
Кроме того, что в svn видны обновления и версии продолжают релизиться, внутри дистрибутива лежит краткий и точный учебник по Dependency Injection. В духе Маркуса ясно и четко шаг-за-шагом от хардоденных классов, через Registry, через Service Locator, через Dependency Injection к Контейнеру управления зависимостями.
Элегантный код:
Ну и подробный тюториал как пользоваться.
phemto.sourceforge.net/
Его автор — Маркус Бэйкер, тот, который написал SimpleTest.
Phemto, если глядеть на сайт, имеет весьма скудную документацию, и кажется заброшенным. Однако это далеко не так.
Кроме того, что в svn видны обновления и версии продолжают релизиться, внутри дистрибутива лежит краткий и точный учебник по Dependency Injection. В духе Маркуса ясно и четко шаг-за-шагом от хардоденных классов, через Registry, через Service Locator, через Dependency Injection к Контейнеру управления зависимостями.
Элегантный код:
require_once('phemto/phemto.php'); $injector = new Phemto(); $injector->whenCreating('Page')->forVariable('session')->willUse(new Reused('Session')); $injector->whenCreating('Page')->forVariable('continuation')->willUse('Continuation'); $injector->whenCreating('Page')->forVariable('alerts')->willUse('Alert'); $injector->whenCreating('Page')->forVariable('accounts')->willUse('Accounts'); $injector->whenCreating('Page')->forVariable('mailer')->willUse('Mailer'); $injector->whenCreating('Page')->forVariable('clock')->willUse('Clock'); $injector->whenCreating('Page')->forVariable('request')->willUse('Request'); $page = $injector->create('Page');
Ну и подробный тюториал как пользоваться.
+3
Sign up to leave a comment.
Компонент Dependency Injection