跳到内容

如何隐藏控制台命令

编辑此页

默认情况下,当执行不带参数的控制台应用程序脚本或使用 list 命令时,将列出所有控制台命令。

但是,有时命令不打算由最终用户运行;例如,应用程序的遗留部分的命令、专门通过计划任务运行的命令等。

在这些情况下,您可以通过将 AsCommand 属性的 hidden 属性设置为 true 来将命令定义为隐藏

1
2
3
4
5
6
7
8
9
10
11
// src/Command/LegacyCommand.php
namespace App\Command;

use Symfony\Component\Console\Attribute\AsCommand;
use Symfony\Component\Console\Command\Command;

#[AsCommand(name: 'app:legacy', hidden: true)]
class LegacyCommand extends Command
{
    // ...
}

隐藏命令的行为与普通命令相同,但它们不再显示在命令列表中,因此最终用户不会意识到它们的存在。

注意

隐藏命令仍然可以使用 JSON 或 XML 描述符。

本作品,包括代码示例,根据 Creative Commons BY-SA 3.0 许可协议获得许可。
目录
    版本