Typo3依赖项注入容器 我应该使用哪个类来添加新的依赖项容器配置? 容器有两种适当的方法: ObjectManager有两种适当的方法:
另外:Typo3依赖项注入容器 我应该使用哪个类来添加新的依赖项容器配置? 容器有两种适当的方法: ObjectManager有两种适当的方法:,typo3,typo3-6.1.x,typo3-flow,Typo3,Typo3 6.1.x,Typo3 Flow,另外: /** * @var Tx_Extbase_Object_ObjectManagerInterface */ protected $objectManager; /** * @param Tx_Extbase_Object_ObjectManagerInterface $objectManager */ public function injectObjectManager(Tx_Extbase_Object_ObjectMan
/**
* @var Tx_Extbase_Object_ObjectManagerInterface
*/
protected $objectManager;
/**
* @param Tx_Extbase_Object_ObjectManagerInterface $objectManager
*/
public function injectObjectManager(Tx_Extbase_Object_ObjectManagerInterface $objectManager) {
$this->objectManager = $objectManager;
}
$pdf = $this->objectManager->create('rent_system_TCPDF');
在哪里注册依赖项?
在全局配置文件/Typo3/LocalConfiguration.php中
我想要的是用所有公共类的位置预先配置DI容器单例。
然后,我的扩展向容器请求一个对象的名称,然后它们将该对象取回
编辑1:
我读了这里的问题
然而,我注意到他的类在DI容器中注册自己(使用Objectmanager.create) 另外,我在这里读到了 但是,我仍然无法理解如何将DI容器用作独立的服务定位器 编辑2: 我是否可以将依赖项添加到/ext/sysext/version/ext\u autoload.php? 或
/typo3conf/extTables.php您可以在TYPO3 Extbase扩展+依赖注入中包含或自动加载外部库 您可以在“ext_autoload.php”中包含外部库。您必须在扩展名内创建ext_自动加载文件
$extensionPath = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('rent_system');
return array(
'rent_system_TCPDF' => $extensionPath.'Resources/Private/PHP/tcpdf/tcpdf.php',
);
控制器:
/**
* @var Tx_Extbase_Object_ObjectManagerInterface
*/
protected $objectManager;
/**
* @param Tx_Extbase_Object_ObjectManagerInterface $objectManager
*/
public function injectObjectManager(Tx_Extbase_Object_ObjectManagerInterface $objectManager) {
$this->objectManager = $objectManager;
}
$pdf = $this->objectManager->create('rent_system_TCPDF');
$extensionPath = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('rent_system');
return array(
'rent_system_TCPDF' => $extensionPath.'Resources/Private/PHP/tcpdf/tcpdf.php',
);
/**
* @var Tx_Extbase_Object_ObjectManagerInterface
*/
protected $objectManager;
/**
* @param Tx_Extbase_Object_ObjectManagerInterface $objectManager
*/
public function injectObjectManager(Tx_Extbase_Object_ObjectManagerInterface $objectManager) {
$this->objectManager = $objectManager;
}
$pdf = $this->objectManager->create('rent_system_TCPDF');