yii2 命令行执行php命令 commands(命令)

时间:2020-12-22 06:13:51

YII2可以在命令行执行php命令,首先明白YII2自带的command示列 \app\commands\HelloController

class HelloController extends Controller
{
/**
* This command echoes what you have entered as the message.
* @param string $message the message to be echoed.
* @return int Exit code
*/
public function actionIndex($message = 'hello world')
{
echo $message . "\n"; return ExitCode::OK;
}
}

首先CD到工程的根目录,目录下有一个 yii文件,我们执行yii hello/index控制台打印了hello world

因此我们可以知道 命令格式如下 yii 控制器名称/动作名称

actionIndex($message = 'hello world')有一个参数,并且有一个默认值,很多时候我们也需要这样的操作。

所有我们执行yii hello/index helloYii 将会打印出 helloYii。

因此我们可以得知 命令格式如下 yii 控制器名称/动作名称 参数1 参数2...

而action方法中 actionName($parameter1,$parameter...)

如果需要操作数据库则需要在config/console.php配置db因为web上的配置和command是不同的。

YII2有了这个后我们可以实现 快速插入测试数据,快速执行一些不明白的函数,快速的对自己写的代码进行测试,如果需要配置定时任务给服务器运行也是可以的。

如果是Linux系统的话得 给yii文件执行权限 并且命令格式如下./yii 控制器名称/动作名称

很多人也喜欢写到一个web的action,然后用来请求,但是web的action是执行完毕才能看见结果而command里面是可以实时echo出结果的,所有一些小动作都可以写一个command,比如说请求一个api一万次,并且每次都显示出结果来。这样有了command就能很方便的满足上面的需求了