【ThinkPHP5】Console命令行执行计划任务
ThinkPHP 5引入了命令行模式,试了一下确实还是不错的,坑是官方文档写得实在太简单了,来总结一下。
1、首先你得去下载一个完整版的ThinkPHP 5,解压到你希望的位置
2、新建脚本入口文件application\home\command\Hello.php
namespace app\home\command; use think\console\Command; use think\console\Input; use think\console\Output; class Hello extends Command { protected function configure() { // 这里的hello就是命令行think后面的参数 $this->setName('hello')->setDescription('Command say hello'); } protected function execute(Input $input, Output $output) { $output->writeln("Hello, world!"); } }
3、修改配置文件application/command.php,条目为刚才增加的脚本入口类的完整命名空间
return [ 'app\home\command\Hello' ];
4、在命令中运行php think hello可以执行上面的Hello脚本类;运行php think list可以看到所有可运行的命令,包括上面添加的hello
5、如果是通过计划任务的方式执行的话,最好修改一下入口的think如下以保证更好的文件路径兼容
//修改以下这行为下面的第二行 //require './thinkphp/console.php'; require dirname(__FILE__) . '/thinkphp/console.php';
通过以上的参数关系讲解相信大家对于写脚本的过程会更加清晰。更多的使用还是参考ThinkPHP5.0完全开发手册
还没有人抢沙发呢~