вписался вне эти планов. разве не так?
Кстати, а не думали сделать обычный декоратор для сайкла вместо использования композитного контейнера?
М... Получать репозитории не из контейнера, а из сервиса репозиториев по имени?
Не. По сути тоже самое. Только RepositoryContainer($baseContainer). И в коде has было бы что-то вроде if (!$this->baseContainer->has($id)) $this->doHas($id)
Так оно доходит в композитной до RepositoryContainer как раз потому, что там этого репо нету. Так что это бессмысленный код.
Тут будет как с мидлварями - больше простор для кастомизации. К примеру если запрощенный сервис имплементит интерфейс репозитория, то сразу запрашивать из контейнера сайкла и не лезть за ним в основной. Но по факту так на так, да
Ну это то, что предлагал @roxblnfk, InterfaceFactory, в данном случае это лишняя прослойка. Функционал композитного контейнера все равно нужен другим пакетам для других кейсов, в которых InterfaceFactory не поможет. Сам коспозит я спрячу, я уже проработал варианты, так что наружу из ContainerInterface будет торчать обычный основной Container.
Обсуждают сегодня