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

标签 symfony typo3 scheduler

由于 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/

相关文章:

sorting - Hadoop 中的 Terasort 调度程序

php - Heroku 调度程序和 PHP

php - 交响乐 3 : How to redirect from within InteractiveLoginEvent listener

TYPO3:按page.layout自动换行CASE

symfony - Symfony 中的 Postgres date_trunc(text, timestamp) 与 Doctrine 2 ?

javascript - 未捕获的 TypeError : jQuery(. ..).tablesorter 不是函数

php - TYPO3 Extbase 后端模块。模板路径问题

apache-spark - 使用部署模式集群的 Apache Spark 任务中的调度程序延迟较大

symfony - 尝试在空变量上扩展 SonataMediaBundle "Impossible to invoke a method ("id"时出错"

symfony - 在Symfony2中Yaml中作为数组的参数