I'm trying to execute code within my Lumen install via the command line. In full Laravel , I've read that you can use commands to achieve this via "make:command", but Lumen does not seem to support this command.
Is there anyway to enable this command? Failing that, what's the best way of running code from the CLI in Lumen?
Thanks
To see all built-in commands, use the php artisan command in Lumen. Although there is no make:command command at Lumen, you can create your custom command: Add new command class inside the app/Console/Commands folder, you can use the sample class template of the framework serve command.
Artisan is the command-line interface included with Lumen. It provides a number of helpful commands that can assist you while you build your application.
To start with, install composer and then change your directory to the root folder of the server. Create a lumen project “lumen_api” from the “laravel/lumen” package (packagist.org). The composer will create a folder “lumen_api” and install all files of lumen including dependency.
You can use the artisan
CLI in Lumen as the same way as in Laravel but with fewer built-in commands. To see all built-in commands, use the php artisan
command in Lumen.
Although there is no make:command
command at Lumen, you can create your custom command:
Add new command class inside the app/Console/Commands
folder, you can use the sample class template of the framework serve
command
Register your custom command by adding your created class to the $commands
member inside the app/Console/Kernel.php
file.
Except the command generating, you can use the Laravel docs for commands when working with Lumen.
Here is a template for a new command. You can just copy and paste this in to a new file and start working. I tested it on lumen 5.7.0
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class CommandName extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'commandSignature';
/**
* 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 mixed
*/
public function handle()
{
$this->info('hello world.');
}
}
Then register it on the Kernel.php file.
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
\App\Console\Commands\CommandName::class
];
When you create your command class use this:
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
Instead of what was described above about using serve command
example
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With