Commands
- Definition
- Principles
- Rules
- Folder Structure
- Code Samples
- Schedule Commands Execution
- Define Consoles Closure Commands
#
Definition- Commands are a Laravel artisan command. Laravel has its own default commands, and you can create your own as well.
- Commands provide a way to interact with the Laravel app.
- A Command can be scheduled by a Task scheduler, like Cron Job or by the Laravel built-in wrapper of the Cron Job "laravel scheduler".
- Commands could be Closure based or Classes.
- "dispatch" is the term that is usually used to call a Command.
#
PrinciplesContainers MAY or MAY NOT have one or more Commands.
Every Command SHOULD call an Action to perform its job, and should not contain any business logic.
Ship may contain Application general Commands.
#
Rules- All Commands MUST extend from
App\Ship\Parents\Commands\ConsoleCommand
.
#
Folder Structure- app - Containers - {section-name} - {container-name} - UI - CLI - Commands - SayHelloCommand.php - ... - Ship - Commands - GeneralCommand.php - ...
#
Code Samples#
A Simple Commandclass HelloWorldCommand extends ConsoleCommand{ protected $signature = 'hello:world'; protected $description = 'Hello World!';
public function handle() { echo "Hello World :)\n"; }}
#
Usage from CLI (Terminal)php artisan hello:world
#
Schedule Commands ExecutionTo Schedule the execution of a Command checkout the Tasks Scheduling page.
#
Define Consoles Closure CommandsTo define Console closure commands go to app/Ship/Commands/closures.php
.
Further reading
More info at Laravel Docs.