添加项目初始化文件和模块初始化文件支持 可以覆盖内置初始化机制

This commit is contained in:
thinkphp
2013-03-25 21:48:19 +08:00
parent 45e320f0c4
commit bbfa7eac23

View File

@@ -28,24 +28,27 @@ class App {
static public function run() { static public function run() {
// 监听app_init // 监听app_init
Tag::listen('app_init'); Tag::listen('app_init');
// 加载全局公共文件和配置 // 加载全局初始化文件
if(is_file(APP_PATH.'init'.EXT)) {
// 检测项目(或模块)配置文件 include APP_PATH.'init'.EXT;
if(is_file(APP_PATH.'config'.EXT)) { $config = Config::get();
$config = Config::set(include APP_PATH.'config'.EXT); }else{
} // 检测项目(或模块)配置文件
// 加载别名文件 if(is_file(APP_PATH.'config'.EXT)) {
if(is_file(APP_PATH.'alias'.EXT)) { $config = Config::set(include APP_PATH.'config'.EXT);
Loader::import(include APP_PATH.'alias'.EXT); }
} // 加载别名文件
// 加载公共文件 if(is_file(APP_PATH.'alias'.EXT)) {
if(is_file(APP_PATH.'common'.EXT)) { Loader::import(include APP_PATH.'alias'.EXT);
include APP_PATH.'common'.EXT; }
} // 加载公共文件
if(is_file(APP_PATH.'common'.EXT)) {
if(is_file(APP_PATH.'tags'.EXT)) { include APP_PATH.'common'.EXT;
// 行为扩展文件 }
Tag::import(include APP_PATH.'tags'.EXT); if(is_file(APP_PATH.'tags'.EXT)) {
// 行为扩展文件
Tag::import(include APP_PATH.'tags'.EXT);
}
} }
// 应用URL调度 // 应用URL调度
self::dispatch($config); self::dispatch($config);
@@ -211,31 +214,36 @@ class App {
// 获取模块名称 // 获取模块名称
define('MODULE_NAME',strtolower(isset($_GET[$var_m])?$_GET[$var_m]:$config['default_module'])); define('MODULE_NAME',strtolower(isset($_GET[$var_m])?$_GET[$var_m]:$config['default_module']));
// 加载模块的公共文件和配置 // 模块初始化
if(is_dir(APP_PATH.MODULE_NAME)) { if(MODULE_NAME && is_dir(APP_PATH.MODULE_NAME)) {
define('MODULE_PATH',APP_PATH.MODULE_NAME.'/'); define('MODULE_PATH',APP_PATH.MODULE_NAME.'/');
Tag::listen('app_begin'); Tag::listen('app_begin');
// 加载模块初始化文件
// 检测项目(或模块)配置文件 if(is_file(MODULE_PATH.'init'.EXT)) {
if(is_file(MODULE_PATH.'config'.EXT)) { include MODULE_PATH.'init'.EXT;
$config = Config::set(include MODULE_PATH.'config'.EXT); $config = Config::get();
} }else{
if($config['app_status']) { // 检测项目(或模块)配置文件
// 加载对应的项目配置文件 if(is_file(MODULE_PATH.'config'.EXT)) {
if(is_file(MODULE_PATH.$config['app_status'].EXT)) $config = Config::set(include MODULE_PATH.'config'.EXT);
$config = Config::set(include MODULE_PATH.$config['app_status'].EXT); }
} if($config['app_status']) {
// 加载别名文件 // 加载对应的项目配置文件
if(is_file(MODULE_PATH.'alias'.EXT)) { if(is_file(MODULE_PATH.$config['app_status'].EXT))
Loader::import(include MODULE_PATH.'alias'.EXT); $config = Config::set(include MODULE_PATH.$config['app_status'].EXT);
} }
// 加载公共文件 // 加载别名文件
if(is_file(MODULE_PATH.'common'.EXT)) { if(is_file(MODULE_PATH.'alias'.EXT)) {
include MODULE_PATH.'common'.EXT; Loader::import(include MODULE_PATH.'alias'.EXT);
} }
if(is_file(MODULE_PATH.'tags'.EXT)) { // 加载公共文件
// 行为扩展文件 if(is_file(MODULE_PATH.'common'.EXT)) {
Tag::import(include MODULE_PATH.'tags'.EXT); include MODULE_PATH.'common'.EXT;
}
if(is_file(MODULE_PATH.'tags'.EXT)) {
// 行为扩展文件
Tag::import(include MODULE_PATH.'tags'.EXT);
}
} }
$var_c = $config['var_controller']; $var_c = $config['var_controller'];
$var_a = $config['var_action']; $var_a = $config['var_action'];