Як приховувати консольні команди

Дата оновлення перекладу 2022-11-19

Як приховувати консольні команди

За замовчуванням, всі консольні команди перераховані при виконанні скрипту консольного додатку без аргументів, або при використанні команди.

Однак, іноді команди не повинні бути виконані кінцевими користувачами; наприклад,
команди для частин наслідування додатку, команди, що виконуються виключно через планові задачі та ін.

У таких випадках ви можете визначити команду як приховану, встановивши метод setHidden() у значення 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
{
    // ...
}

Приховані команди поводять себе та само як і звичайні команди, але вони більше не відображаються у списках команд, так що кінцкві користувачі не знають про їх існування.

Note

Приховані команди все одно доступні при використання дескриптора JSON або XML.