782ba96f76
* 2.5: updated VERSION for 2.4.7 updated CHANGELOG for 2.4.7 bumped Symfony version to 2.3.18 updated VERSION for 2.3.17 update CONTRIBUTORS for 2.3.17 updated CHANGELOG for 2.3.17 added XSD to PHPUnit configuration fix the return types add missing docblock for ProcessBuilder::addEnvironmentVariables() bug #11319 [HttpKernel] Ensure the storage exists before purging it in ProfilerTest [Translation] Added unescaping of ids in PoFileLoader updated italian translation for validation messages [DomCrawler] Fix docblocks and formatting. [DomCrawler] Remove the query string and the anchor of the uri of a link Simplified the Travis test command Remove Expression Language services when the component is unavailable Added SK translations [Console] Make sure formatter is the same |
||
---|---|---|
.. | ||
Command | ||
Descriptor | ||
Event | ||
Formatter | ||
Helper | ||
Input | ||
Logger | ||
Output | ||
Question | ||
Resources/bin | ||
Tester | ||
Tests | ||
.gitignore | ||
Application.php | ||
CHANGELOG.md | ||
composer.json | ||
ConsoleEvents.php | ||
LICENSE | ||
phpunit.xml.dist | ||
README.md | ||
Shell.php |
Console Component
Console eases the creation of beautiful and testable command line interfaces.
The Application object manages the CLI application:
use Symfony\Component\Console\Application;
$console = new Application();
$console->run();
The run()
method parses the arguments and options passed on the command
line and executes the right command.
Registering a new command can easily be done via the register()
method,
which returns a Command
instance:
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
$console
->register('ls')
->setDefinition(array(
new InputArgument('dir', InputArgument::REQUIRED, 'Directory name'),
))
->setDescription('Displays the files in the given directory')
->setCode(function (InputInterface $input, OutputInterface $output) {
$dir = $input->getArgument('dir');
$output->writeln(sprintf('Dir listing for <info>%s</info>', $dir));
})
;
You can also register new commands via classes.
The component provides a lot of features like output coloring, input and output abstractions (so that you can easily unit-test your commands), validation, automatic help messages, ...
Tests
You can run the unit tests with the following command:
$ cd path/to/Symfony/Component/Console/
$ composer.phar install
$ phpunit
Third Party
Resources/bin/hiddeninput.exe
is a third party binary provided within this
component. Find sources and license at https://github.com/Seldaek/hidden-input.