【发布时间】:2014-03-23 19:07:20
【问题描述】:
我应该使用哪个类来添加新的依赖容器配置?
1. \TYPO3\CMS\Extbase\Object\Container
2. \TYPO3\CMS\Extbase\Object\ObjectManager
容器有 2 个合适的方法:
1.1 getInstance ($className, $givenConstructorArguments=array())
1.2 registerImplementation ($className, $alternativeClassName)
ObjectManager 有 2 个适当的方法:
1. get ($objectName)
2. create ($objectName)
还有:
在哪里注册依赖项?
在全局配置文件/Typo3/LocalConfiguration.php?
我想要的是使用所有公共类的位置预先配置 DI Container 单例。 然后我的扩展程序通过它的名称向容器请求一个对象,然后他们将对象取回。
编辑 1:
我在这里阅读了问题
How do I include or autoload external libraries in a TYPO3 Extbase Extension? + Dependecy Injection?
但是我注意到他的类在 DI 容器中注册自己(使用 Objectmanager.create)
另外我在这里阅读 http://forge.typo3.org/projects/typo3v4-mvc/wiki/Dependency_Injection_%28DI%29 但是我仍然无法理解如何将 DI Container 用作独立的服务定位器。
编辑 2:
我是否可以将我的依赖项添加到 /ext/sysext/version/ext_autoload.php ? 或者 /typo3conf/extTables.php
【问题讨论】:
标签: typo3 typo3-6.1.x typo3-flow