Laravel进阶系列笔记--(十二)Laravel 简单的artisan控制台的使用
作者:温新
时间:2021-07-10
hi,我是温新,一名PHPer。
当写完会,应该会发现,怎么这么熟悉。没错,在定时任务中使用过,也就是自定义artisan命令。Laravel提供了许多内置的artisan命令,来看看这些自定义的artisan命令吧。
内置artisan命令
查看所有artisan命令
php artisan list
php artisan
内置命令
-
help
查看指定命令的帮助信息,如php artisan help make:migrate
-
down
将应用切换到维护模式 -
up
将应用从维护模式恢复到正常模式 -
env
查看当前应用的运行环境 -
migrate
执行所有数据库迁移 -
serve
启动PHP内置服务器
编写自定义artisan命令
第一步:创建自定义命令类
方法:make:command
php artisan make:command DemoCommand --command=demo:msg
该命令创建一个自定义的artisan命令类,--command=demo:msg
指定自定义命令的名称。
该命令会app/Console/Commands
目录下创建一个DemoCommand.php
文件,内容如下:
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class DemoCommand extends Command
{
// 命令名称
protected $signature = 'demo:msg';
protected $description = 'Command description';
public function __construct()
{
parent::__construct();
}
public function handle()
{
return 0;
}
}
第二步:编写代码
文件:app/Console/Commands/DemoCommand.php
use Illuminate\Support\Facades\Log;
public function handle()
{
Log::info('自如初个人博客,使用自定义artisan命令');
}
第三步:注册自定义artsian命令
文件:app/Console/Kernel.php
use App\Console\Commands\DemoCommand;
protected $commands = [
DemoCommand::class,
];
第四步:执行自定义命令
php artisan demo:msg
基于闭包的自定义artisan命令
基于闭包的artisan
命令定义在reoutes/console.php
文件中,当然了可以定义在web.php
,也可以定义在某个服务提供中者中,这里我就定义在console.php
文件中。
第一步:定义闭包artisan命令
文件:routes/console.php
Artisan::command('demo:msg1',function(){
$this->info('基于闭包的artisan命令');
})->describe('我是描述内容');
第一个参数:自定义的artisan命令;
第二个参数,闭包函数
第二步:执行自定义artisan命令
php artisan demo;msg1
这就是自定义artsian
命令的简单用法。
我是温新
每天进步一点点,就一点点
请登录后再评论