Laravel Artisan控制台
Laravel框架提供了三种主要的命令行交互工具,分别是: Artisan,Ticker 和 REPL 。本章详细介绍了Artisan。
Artisan简介
Artisan是在Laravel中经常使用的命令行界面,它包含一组有用的命令来开发Web应用程序。
示例
以下是Artisan中的一些命令及其相应的功能列表。
启动Laravel项目
php artisan serve
启用缓存机制
php artisan route:cache
查看Artisan支持的可用命令列表
php artisan list
查看任何命令的帮助并查看可用的选项和参数
php artisan help serve
下图显示了上述命令的输出结果−
写命令
除了Artisan中列出的命令外,用户还可以创建自定义命令,这些命令可以在Web应用程序中使用。请注意,命令存储在 app/console/commands 目录中。
创建用户定义命令的默认命令如下所示 –
php artisan make:console <name-of-command>
一旦您输入以上给定的命令,您可以看到如下所示的屏幕截图中显示的输出。
为 DefaultCommand 创建的文件名为 DefaultCommand.php ,如下所示:
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class DefaultCommand extends Command{
/**
* The name and signature of the console command.
*
* @var string
*/
protected signature = 'command:name';
/**
* The console command description.
*
* @var string
*/
protecteddescription = 'Command description';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct() {
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle() {
//
}
}
这个文件包括用户定义命令的签名和描述。名为 handle 的公共函数在命令被执行时执行功能。这些命令在同一目录下的 Kernel.php 文件中注册。
您还可以创建用户定义命令的任务调度,如下所示的代码:
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel {
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected commands = [
// Commands\Inspire::class,
Commands\DefaultCommand::class
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Scheduleschedule
* @return void
*/
protected function schedule(Schedule schedule) {
//schedule->command('inspire')
// ->hourly();
}
}
请注意,给定命令的任务计划在名为 schedule 的函数中定义,该函数包括一个用于计划任务的参数,参数值为 hourly 。
命令被注册在命令数组中,其中包括命令的路径和名称。
一旦命令被注册,它将显示在Artisan命令中。当您调用指定命令的帮助属性时,签名和描述部分包含的值将被显示出来。
让我们看看如何查看 DefaultCommand 命令的属性。您应该按照下面的示例使用命令:
php artisan help DefaultCommand