支持模块下面的控制器分组

This commit is contained in:
ThinkPHP
2013-08-01 18:20:54 +08:00
parent 2244002a95
commit 05a4811f21
3 changed files with 16 additions and 0 deletions

View File

@@ -126,6 +126,7 @@ class App {
*/
static public function dispatch($config) {
$var_m = $config['var_module'];
$var_g = $config['var_group'];
$var_c = $config['var_controller'];
$var_a = $config['var_action'];
$var_p = $config['var_pathinfo'];
@@ -211,6 +212,7 @@ class App {
Tag::import(include MODULE_PATH . 'tags' . EXT);
}
}
$var_g = $config['var_group'];
$var_c = $config['var_controller'];
$var_a = $config['var_action'];
}else{
@@ -219,6 +221,13 @@ class App {
// 路由检测和控制器、操作解析
Route::check($_SERVER['PATH_INFO']);
// 获取分组名
if(Config::get('require_group')){
define('GROUP_NAME', strtolower(isset($_GET[$var_g]) ? $_GET[$var_g] : $config['default_group']));
}else{
define('GROUP_NAME', '');
}
// 获取控制器名
define('CONTROLLER_NAME', strtolower(isset($_GET[$var_c]) ? $_GET[$var_c] : $config['default_controller']));

View File

@@ -271,8 +271,12 @@ class Route {
return ;
}
$paths = explode('/', $url);
$var_g = Config::get('var_group');
$var_c = Config::get('var_controller');
$var_a = Config::get('var_action');
if(Config::get('require_group') && !isset($_GET[$var_g])) {
$_GET[$var_g] = array_shift($paths);
}
if(Config::get('require_controller') && !isset($_GET[$var_c])) {
$_GET[$var_c] = array_shift($paths);
}

View File

@@ -14,6 +14,7 @@ return [
'app_debug' => true, // 调试模式
'app_status' => 'debug',// 调试模式状态
'var_module' => 'm', // 模块变量名
'var_group' => 'g', // 分组变量名
'var_controller' => 'c', // 控制器变量名
'var_action' => 'a', // 操作变量名
'var_pathinfo' => 's', // PATHINFO变量名 用于兼容模式
@@ -21,6 +22,8 @@ return [
'pathinfo_depr' => '/', // pathinfo分隔符
'require_module' => true, // 是否显示模块
'default_module' => 'index', // 默认模块名
'require_group' => false, // 控制器是否需要分组
'default_group' => '', // 默认分组名
'require_controller' => true, // 是否显示控制器
'default_controller' => 'index', // 默认控制器名
'default_action' => 'index', // 默认操作名