yii2 命令行执行php命令 commands(命令)
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就能很方便的满足上面的需求了