Как скрывать консольные команды

Как скрывать консольные команды

По умолчанию, все консольные командые перечислены при выполнении скрипта консольного приложения без аргументов, или при использовании команды list.

Однако, иногда команды не должны быть выполнены конечными пользователями; например, команды для частей наследования приложения, команды, выполняемые исключительно через плановые задачи и др.

В таких случаях, вы можете определить команду, как скрытую, установив true в свойстве hidden атрибута AsCommand:

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

use Symfony\Component\Console\Attribute\AsCommand;

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

Скрытые команды ведут себя так же, как обычные команды, но они больше не отображаются в списках команд, так что конечные пользователи не знают об их существовании.

Note

Скрытые команды всё равно доступны при использовании дескриптора JSON или XML.