Read the part 1 and part 2 of this series of articles explaining the new features of the Console component in Symfony 3.2.
Added support for multiple text style options¶
Contributed by
SpacePossum
in #19495.
The output of the console commands can use any of these text styles to change
its appearance: bold, underscore, blink, reverse and conceal.
In Symfony 3.2, you can combine more than one text style for a single content
(for example to display some text bold and underscored):
1 | $output->writeln('<fg=green;options=bold,underscore>Test</>');
|
In any case, remember that Symfony provides a simpler way to apply the same style to your console commands in a consistent way.
Added support for private commands¶
Contributed by
Jordan Deitch
in #20029.
By default Symfony commands are public, so they are always included in the
command listings displayed when running bin/console or bin/console list.
In Symfony 3.2, you can remove some commands from those listings making them
private with the setPublic(false) method:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | // src/AppBundle/Command/FooCommand.php
namespace AppBundle\Command;
use Symfony\Component\Console\Command\Command;
class FooCommand extends Command
{
protected function configure()
{
$this
->setName('app:foo')
// ...
->setPublic(false)
;
}
}
|
Private commands behave the same as public commands and they can be executed as before, but they are no longer displayed in command listings, so end-users are not aware of their existence. They are best suited for commands designed for the legacy parts of the application, for commands exclusively executed through scheduled tasks, etc.


Comments