Table of Contents
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
1
$composer require symfony/consoleNote
If you install this component outside of a Symfony application, you mustrequire thevendor/autoload.php file in your code to enable the classautoloading mechanism provided by Composer. Readthis article for more details.
Creating a Console Application
See also
This article explains how to use the Console features as an independentcomponent in any PHP application. Read theConsole Commands article tolearn about how to use it in Symfony applications.
First, you need to create a PHP script to define the console application:
12345678910111213
#!/usr/bin/env php<?php// application.phprequire__DIR__.'/vendor/autoload.php';useSymfony\Component\Console\Application;$application =newApplication();// ... register commands$application->run();Then, you can register the commands usingadd():
12
// ...$application->add(newGenerateAdminCommand());You can also register inline commands and define their behavior thanks to theCommand::setCode() method:
12345678
// ...$application->register('generate-admin') ->addArgument('username', InputArgument::REQUIRED) ->setCode(function(InputInterface$input, OutputInterface$output):int{// ... return Command::SUCCESS; });This is useful when creating asingle-command application.
See theConsole 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
- Cursor Helper
- Debug Formatter Helper
- Formatter Helper
- The Console Helpers
- Process Helper
- Progress Bar
- Progress Indicator
- Question Helper
- Table Helper
- Tree Helper
- Using the Logger
- Building a single Command Application
- Using Console Commands, Shortcuts and Built-in Commands
- 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 Running the Same Console Command Multiple Times
- How to Style a Console Command
- Verbosity Levels

