New in Symfony 3.2: Console Improvements (Part 3)
October 14, 2016 • Published by Javier Eguiluz
Warning: This post is about an unsupported Symfony version. Some of this information may be out of date. Read the most recent Symfony Docs.
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
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 hidden commands
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 hiding them
with the setHidden(true)
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')
// ...
->setHidden(true)
;
}
}
Hidden commands behave the same as regular 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.
Help the Symfony project!
As with any Open-Source project, contributing code or documentation is the most common way to help, but we also have a wide range of sponsoring opportunities.
Comments are closed.
To ensure that comments stay relevant, they are closed for old posts.