tp3.2.3的Console伪扩展(包含rbac功能)
浏览:3729
最后更新:2017-09-14 16:54
分类:模式
作者寄语:
tp5才有的Console,用了发现特别好用。团队用的是tp3.2之前的定时任务是用原生的sql,在服务器绑定host。通过shell脚本curl访问绑定host的url。这样视乎效率不高错误率也大。
一,在入口文件当前目录添加think文件
#!/usr/bin/env php
<?php
/**
* thinkPHP console bootstrap file.
* @author dh2y <xiaodai54_long@163.com>
* @user ./think /controller/action
*/
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');
//普通模式,解决官方分组不支持cli的问题
$depr = '/';
$path = isset($_SERVER['argv'][1])?$_SERVER['argv'][1]:'';
if(!empty($path)) {
$params = explode($depr,trim($path,$depr));
}
!empty($params)?$_GET['m']=array_shift($params):"";
!empty($params)?$_GET['a']=array_shift($params):"";
if(count($params)>1) {
// 解析剩余参数 并采用GET方式获取
preg_replace('@(\w+),([^,\/]+)@e', '$_GET[\'\\1\']="\\2";', implode(',',$params));
}
// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define('APP_DEBUG',True);
// 定义应用目录
define('APP_PATH',dirname(__FILE__).'/Application/');
// 绑定访问Console模块
define('BIND_MODULE','Console');
// 定义运行Runtime目录
define('RUNTIME_PATH',dirname(__FILE__).'/Runtime/');
// 引入autoload入口文件
require dirname(__FILE__).'/vendor/autoload.php';
// 引入ThinkPHP入口文件
require dirname(__FILE__).'/ThinkPHP/ThinkPHP.php';
二、添加windows兼容think.bat文件@echo off
rem -------------------------------------------------------------
rem thinkPHP command line bootstrap script for Windows.
rem @author dh2y <xiaodai54_long@163.com>
rem -------------------------------------------------------------
@setlocal
set THINK_PATH=%~dp0
if "%PHP_COMMAND%" == "" set PHP_COMMAND=php.exe
"%PHP_COMMAND%" "%THINK_PATH%think" %*
@endlocal
三,复制Home分组命名为Console,并将里面的命名空间改为namespace Console\Controller;四、来几张截图(此rbac系统没有更改官方的rbac类)




更多功能请看看云:https://www.kancloud.cn/dh2y/rbac/351908