/** * 初始化应用 */ public static function init() { //加载应用组配置 if (IS_GROUP) { is_file(COMMON_CONFIG_PATH . 'config.php') and C(require COMMON_CONFIG_PATH . 'config.php'); is_file(COMMON_CONFIG_PATH . 'event.php') and C('GROUP_EVENT', require COMMON_CONFIG_PATH . 'event.php'); is_file(COMMON_CONFIG_PATH . 'alias.php') and alias_import(COMMON_CONFIG_PATH . 'alias.php'); is_file(COMMON_LANGUAGE_PATH . C('LANGUAGE') . '.php') and L(require COMMON_LANGUAGE_PATH . C('LANGUAGE') . '.php'); } IS_GROUP and Route::group(); defined('GROUP_NAME') or define('GROUP_NAME', isset($_GET[C('VAR_GROUP')]) && !empty($_GET[C('VAR_GROUP')]) ? $_GET[C('VAR_GROUP')] : C('DEFAULT_GROUP')); defined('APP') or define('APP', ucfirst(IS_GROUP ? $_GET[C('VAR_APP')] : basename(substr(APP_PATH, 0, -1)))); IS_GROUP and define('APP_PATH', GROUP_PATH . GROUP_NAME . '/' . APP . '/'); //常量 defined('CONTROL_PATH') or define('CONTROL_PATH', APP_PATH . 'Control/'); defined('MODEL_PATH') or define('MODEL_PATH', APP_PATH . 'Model/'); defined('CONFIG_PATH') or define('CONFIG_PATH', APP_PATH . 'Config/'); defined('EVENT_PATH') or define('EVENT_PATH', APP_PATH . 'Event/'); defined('LANGUAGE_PATH') or define('LANGUAGE_PATH', APP_PATH . 'Language/'); defined('TAG_PATH') or define('TAG_PATH', APP_PATH . 'Tag/'); defined('LIB_PATH') or define('LIB_PATH', APP_PATH . 'Lib/'); defined('COMPILE_PATH') or define('COMPILE_PATH', TEMP_PATH . (IS_GROUP ? GROUP_NAME . '/' . APP . '/Compile/' : 'Compile/')); defined('CACHE_PATH') or define('CACHE_PATH', TEMP_PATH . (IS_GROUP ? GROUP_NAME . '/' . APP . '/Cache/' : 'Cache/')); defined('TABLE_PATH') or define('TABLE_PATH', TEMP_PATH . (IS_GROUP ? GROUP_NAME . '/' . APP . '/Table/' : 'Table/')); defined('LOG_PATH') or define('LOG_PATH', TEMP_PATH . 'Log/'); //应用配置 is_file(CONFIG_PATH . 'config.php') and C(require CONFIG_PATH . 'config.php'); is_file(CONFIG_PATH . 'event.php') and C('APP_EVENT', require CONFIG_PATH . 'event.php'); is_file(CONFIG_PATH . 'alias.php') and alias_import(CONFIG_PATH . 'alias.php'); is_file(LANGUAGE_PATH . C('LANGUAGE') . '.php') and L(require LANGUAGE_PATH . C('LANGUAGE') . '.php'); //模板目录 $tpl_style = C('TPL_STYLE'); if ($tpl_style and substr($tpl_style, -1) != '/') { $tpl_style .= '/'; } defined('TPL_PATH') or define('TPL_PATH', (C('TPL_PATH') ? C('TPL_PATH') : APP_PATH . 'Tpl/') . $tpl_style); defined('PUBLIC_PATH') or define('PUBLIC_PATH', TPL_PATH . 'Public/'); //应用url解析并创建常量 Route::app(); //=========================环境配置 date_default_timezone_set(C('DEFAULT_TIME_ZONE')); @ini_set('memory_limit', '128M'); @ini_set('register_globals', 'off'); @ini_set('magic_quotes_runtime', 0); define('NOW', $_SERVER['REQUEST_TIME']); define('NOW_MICROTIME', microtime(true)); define('REQUEST_METHOD', $_SERVER['REQUEST_METHOD']); define('IS_GET', REQUEST_METHOD == 'GET' ? true : false); define('IS_POST', REQUEST_METHOD == 'POST' ? true : false); define('IS_PUT', REQUEST_METHOD == 'PUT' ? true : false); define('IS_AJAX', ajax_request()); define('IS_DELETE', REQUEST_METHOD == 'DELETE' ? true : false); define('HTTP_REFERER', isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null); //注册自动载入函数 spl_autoload_register(array(__CLASS__, 'autoload')); set_error_handler(array(__CLASS__, 'error'), E_ALL); set_exception_handler(array(__CLASS__, 'exception')); register_shutdown_function(array(__CLASS__, 'fatalError')); HDPHP::_appAutoLoad(); }
/** * 初始化应用 */ public static function init() { //加载应用配置 is_file(APP_CONFIG_PATH . 'config.php') and C(require APP_CONFIG_PATH . 'config.php'); is_file(APP_LANGUAGE_PATH . C('LANGUAGE') . '.php') and L(require APP_LANGUAGE_PATH . C('LANGUAGE') . '.php'); //解析路由 Route::parseUrl(); //导入钓子 Hook::import(C('HOOK')); //禁止使用模块检测 in_array(MODULE, C('DENY_MODULE')) && halt(MODULE . '模块禁止使用'); //常量定义 defined('MODULE_PATH') or define('MODULE_PATH', empty($_GET[C('VAR_GROUP')]) ? APP_PATH . MODULE . '/' : APP_PATH . $_GET[C('VAR_GROUP')] . '/' . MODULE . '/'); defined('MODULE_CONTROLLER_PATH') or define('MODULE_CONTROLLER_PATH', MODULE_PATH . 'Controller/'); defined('MODULE_MODEL_PATH') or define('MODULE_MODEL_PATH', MODULE_PATH . 'Model/'); defined('MODULE_CONFIG_PATH') or define('MODULE_CONFIG_PATH', MODULE_PATH . 'Config/'); defined('MODULE_HOOK_PATH') or define('MODULE_HOOK_PATH', MODULE_PATH . 'Hook/'); defined('MODULE_LANGUAGE_PATH') or define('MODULE_LANGUAGE_PATH', MODULE_PATH . 'Language/'); defined('MODULE_TAG_PATH') or define('MODULE_TAG_PATH', MODULE_PATH . 'Tag/'); defined('MODULE_LIB_PATH') or define('MODULE_LIB_PATH', MODULE_PATH . 'Lib/'); //应用配置 is_file(MODULE_CONFIG_PATH . 'config.php') and C(require MODULE_CONFIG_PATH . 'config.php'); is_file(MODULE_LANGUAGE_PATH . C('LANGUAGE') . '.php') and L(require MODULE_LANGUAGE_PATH . C('LANGUAGE') . '.php'); //模板目录常量 defined('MODULE_VIEW_PATH') or define('MODULE_VIEW_PATH', strstr(C('TPL_PATH'), '/') ? C('TPL_PATH') . C('TPL_STYLE') : MODULE_PATH . C('TPL_PATH') . '/' . C('TPL_STYLE')); defined('MODULE_PUBLIC_PATH') or define('MODULE_PUBLIC_PATH', MODULE_VIEW_PATH . 'Public/'); defined('CONTROLLER_VIEW_PATH') or define('CONTROLLER_VIEW_PATH', MODULE_VIEW_PATH . CONTROLLER . '/'); //网站根-Static目录 defined("__STATIC__") or define('__STATIC__', __ROOT__ . '/Static'); defined('__HDPHP_TPL__') or define('__HDPHP_TPL__', __HDPHP__ . '/Lib/Tpl'); defined("__VIEW__") or define('__VIEW__', __ROOT__ . '/' . rtrim(MODULE_VIEW_PATH, '/')); defined("__PUBLIC__") or define('__PUBLIC__', __VIEW__ . '/Public'); defined("__CONTROLLER_VIEW__") or define('__CONTROLLER_VIEW__', __VIEW__ . '/' . CONTROLLER); //来源URL define("__HISTORY__", isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : null); //=========================环境配置 date_default_timezone_set(C('DEFAULT_TIME_ZONE')); @ini_set('memory_limit', '128M'); @ini_set('register_globals', 'off'); @ini_set('magic_quotes_runtime', 0); define('NOW', $_SERVER['REQUEST_TIME']); define('NOW_MICROTIME', microtime(true)); define('REQUEST_METHOD', $_SERVER['REQUEST_METHOD']); define('IS_GET', REQUEST_METHOD == 'GET' ? true : false); define('IS_POST', REQUEST_METHOD == 'POST' ? true : false); define('IS_PUT', REQUEST_METHOD == 'PUT' ? true : false); define('IS_AJAX', ajax_request()); define('IS_DELETE', REQUEST_METHOD == 'DELETE' ? true : false); //模块导入 alias_import(C('ALIAS')); //注册自动载入函数 spl_autoload_register(array(__CLASS__, 'autoload')); set_error_handler(array(__CLASS__, 'error'), E_ALL); set_exception_handler(array(__CLASS__, 'exception')); register_shutdown_function(array(__CLASS__, 'fatalError')); HDPHP::_appAutoLoad(); }