Laravel - Artisan创建自定义命令

一、生成命令

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


Laravel - Artisan创建自定义命令_第1张图片

你可能感兴趣的:(Laravel - Artisan创建自定义命令)