967c0e439a
* 2.8: (23 commits) [Validator] added BIC (SWIFT-BIC) validation constraint [TwigBridge] Foundation form layout integration [Security] Deprecated supportsAttribute and supportsClass methods bumped Symfony version to 2.7.6 updated VERSION for 2.7.5 updated CHANGELOG for 2.7.5 bumped Symfony version to 2.3.34 updated VERSION for 2.3.33 update CONTRIBUTORS for 2.3.33 updated CHANGELOG for 2.3.33 [Console] Fix transient HHVM test [OptionsResolver] Fix catched exception along the dependency tree mistakenly detects cyclic dependencies fixed tests [DI] Support deprecated definitions in decorators [DI] Allow to change the deprecation message in Definition [DI] Trigger a deprecated error on the container builder [DI] Dump the deprecated status [DI] Supports the deprecated tag in loaders [DI] Add a deprecated status to definitions Fixing test locations ... |
||
---|---|---|
.. | ||
Command | ||
Descriptor | ||
Event | ||
Exception | ||
Formatter | ||
Helper | ||
Input | ||
Logger | ||
Output | ||
Question | ||
Resources/bin | ||
Style | ||
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 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.