PHP Classes

File: Console/

Recommend this page to a friend!
  Classes of Mukhamad Ikhsan  >  Redmine PHP Console Tools  >  Console/  >  Download  
File: Console/
Role: Documentation
Content type: text/plain
Description: Documentation
Class: Redmine PHP Console Tools
Manage projects hosted in a Redmine installation
Author: By
Last change: Update of Console/
Date: 11 months ago
Size: 1,706 bytes


Class file image Download
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();

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;

            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, ...


You can run the unit tests with the following command:



[The Console Component](

[How to create a Console Command](
For more information send a message to info at phpclasses dot org.