如何隐藏控制台命令
默认情况下,当执行不带参数的控制台应用程序脚本或使用 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 许可协议获得许可。