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

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

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

В таких случаях, вы можете определить команду, как скрытую, установив метод 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.

Эта документация является переводом официальной документации Symfony и предоставляется по свободной лицензии CC BY-SA 3.0.