Разбор ООП с Delphinum

27K
.
# Delphinum (29.11.2016 / 20:49)
L!MP, не знаю как в ларавел, но у зенд есть еще:
1. Декораторы (делегаторы)
2. Инициализаторы
3. Абстрактные фабрики
4. Менеджеры плагинов
Ху-ис-ху? Может есть ссылки на доку, а то долго искать.
.
L!MP, документация конечно есть.
Если коротко, то:
1. Декораторы (делегаторы) - позволяют обернуть имеющийся в контейнере сервис аналогичным, но с доп логикой
2. Инициализаторы - позволяют инициализировать любой сервис из контейнера при его первом вызове (на пример разрешить его зависимости, тобишь DI это по идее частный случай инициализатора)
3. Абстрактные фабрики - позволяют создать сервис, если он не объявлен в контейнере по его имени
4. Менеджеры плагинов - это обычный контейнер, но умеющий работать только с сервисами определенного типа (класса)
.
помимо прочего, Zend еще умеет lazy load и включает функцию настраиваемого шаринга сервисов, позволяющую создавать сервис при каждом запросе.
.
(\/)____o_O____(\/)
я тут книгу нашел, читаю
ссылка
.
1. Декораторы (делегаторы) - позволяют обернуть имеющийся в контейнере сервис аналогичным, но с доп логикой

Угу, это есть, но существенно проще.
Реализовано не как отдельный тип биндинга, а обычным замыканием которое оборачивает существующий биндинг.
$container->bind(A::class)->toSelf();
$container->decorate(А::class, function (A $decorated) {
    $decorated->setSome('something');
    return $decorated;
});


2. Инициализаторы - позволяют инициализировать любой сервис из контейнера при его первом вызове (на пример разрешить его зависимости, тобишь DI это по идее частный случай инициализатора)

Понял. Видел такое. Подумаю нужно ли.

3. Абстрактные фабрики - позволяют создать сервис, если он не объявлен в контейнере по его имени

Это вот это: https://github.com/zendframewo ... ories ?
Не, такого нет. Да и не очень нужно как по мне.

4. Менеджеры плагинов - это обычный контейнер, но умеющий работать только с сервисами определенного типа (класса)

Не нашел.
.
Koenig, zf не простой фреймворк, особенно когда дело доходит до его реализации MVC, русскоязычная литература по теме очень полезна.
.
(\/)____o_O____(\/)
Delphinum, ну я уже одну доку по zf2 скурил
.
# L!MP (29.11.2016 / 21:07)
Это вот это: https://github.com/zendframewo ... ories ?
Не, такого нет. Да и не очень нужно как по мне.
Да, это они. Очень полезно для реализации какого нить "Контроллера по умолчанию" или "Фабрики для всех типов контроллеров".
.
# L!MP (29.11.2016 / 21:07)
Не нашел.
https://github.com/zendframewo ... rs.md
.
(\/)____o_O____(\/)
Delphinum, вроде же можно конфиг накрутить для подобного
Всего: 713