The Console Component
The Console component eases the creation of beautiful and testable commandline interfaces.
The Console component allows you to create command-line commands. Your consolecommands can be used for any recurring task, such as cronjobs, imports, orother batch jobs.
Installation
- $ composer require symfony/console
Note
If you install this component outside of a Symfony application, you mustrequire the vendor/autoload.php
file in your code to enable the classautoloading mechanism provided by Composer. Readthis article for more details.
Creating a Console Application
This article explains how to use the Console features as an independentcomponent in any PHP application. Read the Console Commands article tolearn about how to use it in Symfony applications.
First, you need to create a PHP script to define the console application:
- #!/usr/bin/env php
- <?php
- // application.php
- require __DIR__.'/vendor/autoload.php';
- use Symfony\Component\Console\Application;
- $application = new Application();
- // ... register commands
- $application->run();
Then, you can register the commands usingadd()
:
- // ...
- $application->add(new GenerateAdminCommand());
See the Console Commands article for information about how to create commands.
Learn more
- Console Commands
- Changing the Default Command
- Understanding how Console Arguments and Options Are Handled
- Using Events
- Using the Logger
- Building a single Command Application
- Using Console Commands, Shortcuts and Built-in Commands
- The Console Helpers
- How to Call Other Commands
- How to Color and Style the Console Output
- How to Call a Command from a Controller
- How to Define Commands as Services
- How to Hide Console Commands
- Console Input (Arguments & Options)
- How to Make Commands Lazily Loaded
- Prevent Multiple Executions of a Console Command
- How to Style a Console Command
- Verbosity Levels