gpt4 book ai didi

symfony - Typo3 - 如何在 symfony commandController 中获取 extbase 上下文

转载 作者:行者123 更新时间:2023-12-03 21:16:51 24 4
gpt4 key购买 nike

由于 TYPO3 v9.4 不推荐使用 extbase commandController,因此我根据以下内容使用 symfony 控制台命令替换:https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/CommandControllers/Index.html#cli-mode

现在我的 FooCommandController 从 Symfony\Component\Console\Command\Command 扩展

因为我需要使用 TYPO3 数据,所以我需要通过 extbase 存储库获取它们。
但是我的整个 CommandController 没有 extbase 上下文,因此无法通过 extbase 依赖注入(inject)加载 repo。

也无法通过 makeInstance 或 objectManager->get() 手动创建它们,因为在此上下文中没有可用的 objectManager。

访问 symfony commandController 中的 extbase 功能的正确/非hacky方法是什么?

最佳答案

“最简单”但不推荐的方法是获取 ObjectManager通过 makeInstance()并使用 get()在上面。

更好的方法是将您的逻辑分离到自定义类中,该类使用 Extbase 的依赖注入(inject)。然后,您可以以相同的方式获取此类。

使用 V10,您可以只进行注入(inject),因为 DI 在 Extbase 之外可用。

关于symfony - Typo3 - 如何在 symfony commandController 中获取 extbase 上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59820376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com