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

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

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

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

В таких случаях, вы можете определить команду, как скрытую, установив метод setHidden() в значение true в конфигурации команды:

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

use Symfony\Component\Console\Command\Command;

class LegacyCommand extends Command
{
    protected function configure()
    {
        $this
            ->setName('app:legacy')
            ->setHidden(true)
            // ...
        ;
    }
}

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

Note

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