Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typo3依赖项注入容器 我应该使用哪个类来添加新的依赖项容器配置? 容器有两种适当的方法: ObjectManager有两种适当的方法:_Typo3_Typo3 6.1.x_Typo3 Flow - Fatal编程技术网

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');