Пример #1
0
 /**
  * 初始化应用
  */
 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 . '模块禁止使用');
     //常量定义
     if (!defined('MODULE_PATH')) {
         if (empty($_GET[C('VAR_GROUP')])) {
             //普通模块
             define('MODULE_PATH', APP_PATH . MODULE . '/');
         } else {
             if ($_GET[C('VAR_GROUP')] == 'Addon') {
                 //插件模块
                 define('MODULE_PATH', APP_ADDON_PATH . MODULE . '/');
             } else {
                 //根据应用组目录识别模块
                 define('MODULE_PATH', 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::autoLoadFile();
 }