命令行(控制器)
什么时候需要命令行控制器?
- 需要和 web 的逻辑一致(例如连同一个数据库,使用同一个通用方法)
- 在服务器端主动执行,不需要通过 http 访问执行
如何使用命令行控制器?
<?php
!defined('FRAMEWORK_PATH') && exit('Accesss Deined');
class cmd_control extends cli_control {
public function __construct(&$conf) {
// 设置当 on_{action} 方法找不到时,拼接 ROOT_PATH.'control/cmd/{action}.php' 文件路径进行执行
$this->run_path = ROOT_PATH.'control/cmd/';
parent::__construct($conf);
}
public function on_index(){
//
log::info("cmd=on_index");
}
}
命令行下执行:
php index.php cmd index
注:继承了 cli_control 的控制器,仅支持在 cli 下运行,无法使用 index.php?c=cmd-index 访问