Symfony 4 was released on November 30th.
Update now to the best Symfony ever!

You are browsing the Symfony 4 documentation, which changes significantly from Symfony 3.x. If your app doesn't use Symfony 4 yet, browse the Symfony 3.4 documentation.

How to Hide Console Commands

4.0 version
Maintained Unmaintained
3.2

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:

 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)
            // ...
        ;
    }
}

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.

Note

Hidden commands are still available using the JSON or XML descriptor.

This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.