【发布时间】:2021-10-11 08:20:30
【问题描述】:
我从 TYPO3 V10.4 切换到 V11.5,不得不更换 objectManager->get。
为此我已经打开了TYPO3 Problem to handle Deprecation #90803。
由于我有不止一个objectManager->get要替换,所以我不得不扩展Service.yaml示例来
# Configuration/Services.yaml
services:
_defaults:
autowire: true
autoconfigure: true
public: false
HGA\Mairlist\:
resource: '../Classes/*'
exclude: '../Classes/Domain/Model/*'
HGA\Mairlist\Utilities\SqlSelect:
public: true
HGA\Mairlist\Utilities\SqlUtility:
public: true
我不明白错误信息,我也对/\Services.yaml 感到困惑。
我的Services.yaml 文件有问题吗?
这里是controller文件的部分
**
* @var SqlUtility $sqlUtil
*/
protected $sqlUtil;
public function __construct(SqlUtility $sqlUtil)
{
$this->sqlUtil = $sqlUtil;
}
/**
* @var SqlSelect $sqlSel
*/
protected $sqlSel;
public function __construct(SqlSelect $sqlSel)
{
$this->sqlSel = $sqlSel;
}
解决方案:
在Services.yaml 中,我所有以HGA\ 开头的代码都必须与_default 处于同一级别。这意味着,它必须再缩进一步(2 个空格)。
# Configuration/Services.yaml
services:
_defaults:
autowire: true
autoconfigure: true
public: false
HGA\Mairlist\:
resource: '../Classes/*'
exclude: '../Classes/Domain/Model/*'
HGA\Mairlist\Utilities\SqlSelect:
public: true
HGA\Mairlist\Utilities\SqlUtility:
public: true
【问题讨论】:
-
您是否处于作曲模式?此外,您只需要一个构造函数。 ;)
-
不,我不是作曲家制作的。你的意思是只需要一个构造函数?有两个不同的变量。
-
让我编辑您的问题并按照我向您展示的方式尝试
-
好的,我在等,还是我必须做点什么?
-
@AristeidisKaravas:对原始帖子进行编辑作为答案。即使没有完整的答案。之后可以增强。