The Console Component
Edit this pageWarning: You are browsing the documentation for Symfony 3.1, which is no longer maintained.
Read the updated version of this page for Symfony 6.3 (the current stable version).
The Console Component
The Console component eases the creation of beautiful and testable command line interfaces.
The Console component allows you to create command-line commands. Your console commands can be used for any recurring task, such as cronjobs, imports, or other batch jobs.
Installation
You can install the component in 2 different ways:
- Install it via Composer (
symfony/console
on Packagist); - Use the official Git repository (https://github.com/symfony/console).
Then, require the vendor/autoload.php
file to enable the autoloading mechanism
provided by Composer. Otherwise, your application won't be able to find the classes
of this Symfony component.
Creating a Console Application
First, you need to create a PHP script to define the console application:
1 2 3 4 5 6 7 8 9 10 11 12 13
#!/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 using add():
1 2
// ...
$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 Are Handled
- Using Events
- Debug Formatter Helper
- Dialog Helper
- Formatter Helper
- The Console Helpers
- Process Helper
- Progress Bar
- Progress Helper
- Question Helper
- Table
- Table Helper
- 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
- Console Input (Arguments & Options)
- How to Enable Logging in Console Commands
- How to Generate URLs from the Console
- How to Style a Console Command
- How to Use the Console
- Verbosity Levels