默认情况下,控制台命令文件夹位于:MyProject\MyBundle\Command
,并且所有文件夹都按预期工作,但如果我在命令执行时将文件夹移动到另一个目录,例如:MyProject\MyBundle\MyFolder\Command
,则会抛出:{{1} }
通过互联网搜索并阅读可能与此问题相关的所有文档后,我找不到任何有用的内容......
问题是:存在移动该文件夹的模式,或者我将被迫使用默认文件夹?
谢谢!
答案 0 :(得分:5)
您可以将其定义为服务:
my_command:
class: MyProject\MyBundle\MyFolder\Command\MyCommand
tags:
- { name: console.command }
您可以在Symfony
documentation中详细了解此方法。
答案 1 :(得分:2)
看看Symfony \ Component \ HttpKernel \ Bundle \ Bundle :: registerCommands
如您所见,Command目录是硬连线的。没有选项可以通过配置进行更改。如果你真的真的想要更改文件夹,那么在MyBundle类中覆盖并克隆此方法。但这似乎不值得努力。
使用服务(如@Andrey Sobkanyuk所建议)可能是一个更好的长期解决方案。