一、生成命令
php artisan make:command Demo
app/Console/Commands目录下生成文件Demo.php
主要代码如下:
/**
*如果定义一个必须的参数,格式为 :'user {age}'
*如果定义一个可选的参数,格式为 :'user {age?}'
*如果定义一个可选的参数加上默认值,格式为 :'user {age=26}'
* The name and signature of the console command
*/
protected$signature='user {name=ybl}';
//指令描述
protected$description='测试CLI输入参数';
public function handle()
{
//获取用户从CLI输入的值;
// get array $arr = $this -> arguments();
// get key
$name = $this-> argument('name');
if( $name === 'yuanbl' ) {
for($i=0;$i<5;$i++){
sleep(1);
echo 'Hello '.$name.PHP_EOL;
}
} else {
//编写输出
// line-no颜色 、info-绿色 、comment、question和error-红色 方法来发送输出到终端。
//每个方法都有适当的ANSI颜色来作为他们的标识
// $this->info('unknow');
$this->error('Something went wrong!');
// echo$name;
}
}
二、注册命令
命令编写完成后,需要注册Artisan后才能使用。注册文件为app/Console/Kernel.php
在这个文件中,你会在commands属性中看到一个命令列表。要注册你的命令,
只需将其加到该列表中即可。当Artisan启动时,
所有罗列在这个 属性的命令,都会被 服务容器 解析并向Artisan注册:
protected $commands = [
Commands\Demo::class
];
三、在CLI中执行
php artisan command:nam
网友评论