Пример #1
0
 /**
  * 初始化应用
  */
 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();
 }
Пример #2
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 . '模块禁止使用');
     //常量定义
     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();
 }