diff --git a/console/hide_commands.rst b/console/hide_commands.rst new file mode 100644 index 00000000000..8c12bc49f15 --- /dev/null +++ b/console/hide_commands.rst @@ -0,0 +1,32 @@ +How to Hide Console Commands +============================ + +By default, all console commands are listed when executing the console application +script without arguments or when using the ``list`` command. + +However, sometimes commands are not intended to be executed by end-users; for +example, commands for the legacy parts of the application, commands exclusively +executed through scheduled tasks, etc. + +In those cases, you can define the command as **hidden** by setting the +``setHidden()`` method to ``true`` in the command configuration:: + + // src/AppBundle/Command/LegacyCommand.php + namespace AppBundle\Command; + + use Symfony\Component\Console\Command\Command; + + class LegacyCommand extends Command + { + protected function configure() + { + $this + ->setName('app:legacy') + ->setHidden(true) + // ... + ; + } + } + +Hidden commands behave the same as normal commands but they are no longer displayed +in command listings, so end-users are not aware of their existence.