ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
**1 thinkphp5开发流程** ![](https://box.kancloud.cn/2016-03-14_56e622935ecd6.png) 目录配置如图【IDE phpstorm】 1. 把public文件夹下面的index.php和.htaccess都放到根目录下 2. ![](https://box.kancloud.cn/2016-03-14_56e622938feb4.png) 3. 修改如上图所示。最好自己自定义一个ROOt_PATH.方便未来上传文件或者进行xls以及word读写编辑的时候发生路径不统一的问题 4. 把build.php放到runtime下面。方便git进行配置。因为runtime设置为gitignore![](https://box.kancloud.cn/2016-03-14_56e62293bcf33.png) 5. 随后自己新建一个模块。命名随意。只需要有Controller文件夹。同时又一个php控制器! * * * * * ~~~ namespace app\xzxs\controller; class Build { public function index(){ $build = new \think\Build(); $info = require APP_PATH."/runtime/build.php"; $build->run($info); } } ~~~ * * * * * 6. 访问http://localhost/yourfolder/YourModel/YourController/index/ 就可以看到生成了所有的目录。分别为Api对应输出目录。后台backstage,前台index。另外需要再有一个基础控制模块。 7. 至此整个运行流程创建完成。可以根据以前版本一样进行流程开发 * * * * * **2 Cron定时器** 前提:需要自己在behavior下面先新建CronRunBehavior.php 代码如下: ~~~ namespace Behavior; /** * 自动执行任务 */ class CronRunBehavior { public function run(&$params) { // 锁定自动执行 $lockfile = RUNTIME_PATH.'cron.lock'; if(is_writable($lockfile) && filemtime($lockfile) > $_SERVER['REQUEST_TIME'] - C('CRON_MAX_TIME',null,60)) { return ; } else { touch($lockfile); } set_time_limit(1000); ignore_user_abort(true); // 载入cron配置文件 // 格式 return array( // 'cronname'=>array('filename',intervals,nextruntime),... // ); if(is_file(RUNTIME_PATH.'~crons.php')) { $crons = include RUNTIME_PATH.'~crons.php'; }elseif(is_file(APP_PATH.'crons.php')){ $crons = include APP_PATH.'crons.php'; } if(isset($crons) && is_array($crons)) { $update = false; $log = array(); foreach ($crons as $key=>$cron){ if(empty($cron[2]) || $_SERVER['REQUEST_TIME']>=$cron[2]) { // 到达时间 执行cron文件 G('cronStart'); include ROOT_PATH.'public/cron/'.$cron[0].'.php'; G('cronEnd'); $_useTime = G('cronStart','cronEnd', 6); // 更新cron记录 $cron[2] = $_SERVER['REQUEST_TIME']+$cron[1]; $crons[$key] = $cron; $log[] = "Cron:$key Runat ".date('Y-m-d H:i:s')." Use $_useTime s\n"; $update = true; } } if($update) { // 记录Cron执行日志 \Think\Log::write(implode('',$log)); // 更新cron文件 $content = "<?php\nreturn ".var_export($crons,true).";\n?>"; file_put_contents(RUNTIME_PATH.'~crons.php',$content); } } // 解除锁定 unlink($lockfile); return ; } } ~~~ 或者从3.2.3拷贝。但是需要做一定修改 需要application目录如下 ![](https://box.kancloud.cn/2016-03-14_56e62293dfe29.png) 首先在Tags.php里面进行如下配置 ~~~ return array( 'app_begin' => array('behavior\CronRunBehavior'), ); ~~~ 然后在crons.php里面进行如下配置 ~~~ return array( '测试定时任务' => array('index', '10', ''), //路径(格式同R)、间隔秒(0为一直运行)、指定一个开始时间 ); ~~~ ![](https://box.kancloud.cn/2016-03-14_56e62293f2514.png) 对应的运行文件在如下目录 **3 Taglib类库自动加载**