Laravel’s Aritsan(command-line interface) is well known among developers as commands are always very handy to achieve results. Laravel is not different, comes with very good setup for extending their core command interface.
In Laravel, commands are generally saved in the app/Console/Commands
folder.
In this article, you’ll learn how to create a custom command for artisan easily in Laravel.
Create command
Let’s say we are working on a project that imports several products from a third party system and we just need automate it using commands.
php artisan make:command ImportProducts --command=import:products
This should create a QuizStart class in the /app/console/commands directory with App\Console\Commands
namespace.
Note : –command is generates a command that we can run in the command line, like below
php artisan import:products
Structure of command file
<?php namespace App\Console\Commands; use Illuminate\Console\Command; class ImportProducts extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'import:products'; /** * The console command description. * * @var string */ protected $description = 'Command description'; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return int */ public function handle() { $this->info("Run command successfully"); } }
Output a text
You may try to print different outputs by using below statements in handle()
function
$this->line("Some Random text"); $this->info("Hello Ran successfully !"); $this->comment("Just a comment"); $this->question("Are you sure"); $this->error("Wooh, something got wrong");
Note: Tested in Laravel 8.x
- Just want to thank us? Buy us a Coffee
- May be another day? Shop on Amazon using our links.
Your prices won't change but we get a small commission.
Leave a Reply