Symfony 命令创建问题

Symfony 命令创建问题,symfony,Symfony,我有一个已经在生产的命令,我怀疑没有工作。开发人员已经不在了。所以我来这里寻求帮助 有两件事我不明白 1-命令名位于控制器文件夹内。。。ApiController,但它扩展了ContainerWareCommand,所以我想这很好 2-命令未找到,但可能与第一个点相关 当我尝试时:php-bin/console-app:commandTest 我在控制台里发现了他的错误: “app”命名空间中未定义任何命令 人们告诉我,这段代码在以前的开发人员编写时就已经运行了……但我看不出它是如何运行的。我希

我有一个已经在生产的命令,我怀疑没有工作。开发人员已经不在了。所以我来这里寻求帮助

有两件事我不明白

1-命令名位于控制器文件夹内。。。ApiController,但它扩展了ContainerWareCommand,所以我想这很好

2-命令未找到,但可能与第一个点相关

当我尝试时:
php-bin/console-app:commandTest

我在控制台里发现了他的错误:

“app”命名空间中未定义任何命令

人们告诉我,这段代码在以前的开发人员编写时就已经运行了……但我看不出它是如何运行的。我希望你能看到如何做到这一点,或者如何让它发挥作用。 谢谢

编辑:我试图添加到我的服务中的内容。yaml但它不起作用

services:
    app.command.api_controller: 
        class: AppBundle\Controller\ApiController 
            arguments: ["%command.default_name%"] 
            tags: - { name: console.command }
config.yaml

imports:
    - { resource: services.yml }
但这样做是错误的

文件“/var/www/unitimmo/unitimmo/app/config/services.yml”不包含有效的YAML


是否有为此类定义的服务,并用
console.command
标记?根据Symfony版本,似乎有可能?Symfony控制台命令是。但在右上角选择正确的版本是很重要的。事情变了。在控制器目录中有一个命令(使用带有控制器前缀的类)是非常不寻常的。@Cerad Symfony V4 thomas.drbg我不这么认为,但我不确定。我认为它是自动的。从命令中发布名称空间行。这实际上有助于缩小实际编写命令的Symfony版本的范围。我猜这不是一个新的应用程序,而是一个从早期版本开始,然后升级的应用程序。然后查看services.yaml文件,查看defaults部分是否匹配,如果尚未匹配,请清除cache directories.Yep。AppBundle强烈暗示了一个Symfony 3项目。您甚至可能没有默认部分,这意味着未启用自动配置,这意味着您的命令将不会被自动标记。正如@thomas.drbg所建议的,您可能需要手动将命令定义为服务并对其进行标记。是否有为此类定义的服务并使用
控制台对其进行标记。command
?根据Symfony版本,似乎有可能?Symfony控制台命令是。但在右上角选择正确的版本是很重要的。事情变了。在控制器目录中有一个命令(使用带有控制器前缀的类)是非常不寻常的。@Cerad Symfony V4 thomas.drbg我不这么认为,但我不确定。我认为它是自动的。从命令中发布名称空间行。这实际上有助于缩小实际编写命令的Symfony版本的范围。我猜这不是一个新的应用程序,而是一个从早期版本开始,然后升级的应用程序。然后查看services.yaml文件,查看defaults部分是否匹配,如果尚未匹配,请清除cache directories.Yep。AppBundle强烈暗示了一个Symfony 3项目。您甚至可能没有默认部分,这意味着未启用自动配置,这意味着您的命令将不会被自动标记。正如@thomas.drbg所建议的,您可能需要手动将命令定义为服务并对其进行标记。
imports:
    - { resource: services.yml }