Если вы считаете, что ваш IoC / может быть более легковесным, чем у других фреймворков, и если у вас достаточно времени для его разработки, постройте свой собственный.Я лично использую IoC в моей инфраструктуре MVC просто для связи View с контроллером.Я управляю представлением и его параметрами из реестра (ассоциативного массива стандартизированной структуры). Модели обрабатываются как внешние сервисы.Я также нашел IoC и DI в первый раз на Java, поэтому я пытался взять лучшее из обоих языков (Java и PHP), когда строил свой. Конечно, он ничего не связывает ни с чем, но мне это не нужно для моего случая,так что вы не можете.
IoC важен для обеспечения гибкости с течением времени, но насколько гибкость?Вы работаете со многими внешними компонентами?Вы работаете со стандартными плагинами и объектами?PHP - это не java, у вас нет такого хорошо разработанного пакета jar-файлов и библиотек, которые можно было бы реализовать в любое время, просто загрузив его и заменив директиву в XML для указания на него, подумайте об этом.
Iобнаружил отличную реализацию IoC на исключительном программном обеспечении с открытым исходным кодом под названием Alfresco (Система управления документами).Это продукт, который объединяет шаблоны JSF, Spring, Hibernate и freemarker, но, как я уже сказал, это продукт, предназначенный для встраивания в тысячи бизнес-моделей, он больше похож на высокоразвитую платформу, которую нужно бесконечно изменять, поэтомудолжна быть очень гибкой.
Если вы разрабатываете целевое приложение, предназначенное для обслуживания одной бизнес-модели и нескольких клиентов, то погружение в расцвет IoC усложнит, а не упростит.
Эйнштейн сказал, что все должно быть просто, но не проще, чем они.