How to Add Command line in to Console CLI in Magento 2

In this article, we will find how to add a command line into magento 2 console CLI. Magento 2 add command line use a interface to quick change some features like enable/disable cache, setup sample data… Before we start, please take some minutes to know about the naming in Magento 2 CLI.

We will use an example module Mageplaza_Example to demo for this lesson. To add an option to Magento 2 CLI, we will follow by some steps:

Step 1: Define command in di.xml

In di.xml file, you can use a type with name Magento\Framework\Console\CommandList to define the command option.

File: app/code/Mageplaza/HelloWorld/etc/di.xml

<?xml version="1.0"?>
<config xmlns:xsi="" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
   <type name="Magento\Framework\Console\CommandList">
           <argument name="commands" xsi:type="array">
               <item name="exampleSayHello" xsi:type="object">Mageplaza\HelloWorld\Console\Sayhello</item>

This config will declare a command class Sayhello. This class will define the command name and execute() method for this command.

Step 2: Create command class

As define in di.xml, we will create a command class:

File: app/code/Mageplaza/HelloWorld/Console/Sayhello.php

namespace Mageplaza\HelloWorld\Console;

use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;

class Sayhello extends Command
   protected function configure()
       $this->setDescription('Demo command line');
   protected function execute(InputInterface $input, OutputInterface $output)
       $output->writeln("Hello World");

In this function, we will define 2 methods:

  • configure() method is used to set the name and the description of the magento 2 add command line
  • execute() method will run when we call this command line via console.

After declare this class, please flush Magento cache and type this command:

php magento --list

You will see the list of all commands. Our command will be show here

magento 2 add command line

Now you can run the command to see the result

magento 2 add command line

Next tutorial:

Module Development Series

Enjoyed the tutorial? Spread it to your friends!


Comments for How to Add Command line in to Console CLI in Magento 2

Please leave comments if you have any questions, feedbacks.

Module Development

You also may like these Magento 2 Extensions

One Step Checkout

10 reviews

Layered Navigation

12 reviews


no review

Shop By Brand

3 reviews

People also searched for:

  • magento 2 add command line
  • magento 2 console
  • magento 2 command line
  • console in magento 2
  • cli in magento 2
  • command line in magneto 2
  • magento 2 create command line
  • magento 2 create module command line
  • magento 2 command line backup
  • magento 2 command line clear cache
  • magento 2 command line cron
  • magento 2 command line disable compilation
  • magento 2 command line export
  • magento 2 command line flush cache
  • magento 2 command line install
  • magento 2 command line indexer
  • magento 2 command line import
  • magento 2 command line interface
  • magento 2 command line reindex
  • magento 2 command line reindex all
  • magento 2 command line refresh cache
  • magento 2 command line script
  • magento 2 command line tool
  • magento 2 command line upgrade