0

使用 symfony 控制台命令,您可以通过放入 setName("group:command") 来为每个命令添加前缀/分组,这很棒。

myown
  myown:cool
  myown:foo
  myown:bar

但问题是一些外部依赖不使用这种格式。例如:Phinx 迁移。

由于我正在导入一个具有名为的控制台命令的依赖项,因此migrate我不希望它在没有前缀/组的情况下显示。不仅仅是因为我可能有另一个命令被调用migrate或者只是为了可读性。我不知道我们是否有 2 个具有相同命令名称的命令名称会显示(需要检查)。

我的问题是:我是否可以强制来自外部依赖的组命令位于前缀/组内?

4

1 回答 1

0

你可以做到这一点,我不推荐,但这就是方法:

  • 创建一个编译器通行证,删除您不喜欢的命令的定义
  • 在设置您喜欢的名称时再次注册所有这些命令

如果您需要有关编译器通行证的信息: https ://symfony.com/doc/current/components/dependency_injection/compilation.html#components-di-compiler-pass

也许有一种我不知道的更简单的方法,但现在这是我对你的回答,我不能发布所有代码,因为那将是很多代码,如果你这样做,也许你可以更新解决方案。

祝你好运

于 2017-11-30T16:34:22.583 回答