public function deafultAppInitialize() { \Norma\Support\Evn::isWeb() && \Norma\Hook::loadPlugin(APP_LIB_PATH . '/Plugin', ''); }
// | Author: LunnLew <*****@*****.**> // +---------------------------------------------------------------------- // 加载函数库 require FRAME_PATH . '/functions.php'; // 注册框架类加载器 require FRAME_PATH . '/Support/Traits/LoaderHelper.php'; require __DIR__ . '/Loader.php'; // 注册类加载器 $loader = new \Norma\Loader(); $loader->register(); $loader->addNamespace('Norma', FRAME_PATH); \Norma\App::$loader = $loader; // 注册错误和异常处理机制 \Norma\Error::register(); // 加载Composer库 defined('COMPOSER_VENDOR_PATH') and (require_once COMPOSER_VENDOR_PATH . '/autoload.php'); // 加载默认全局配置文件 \Norma\Config::load(FRAME_PATH . '/Config/Global-default.php'); // 加载应用配置文件 \Norma\Config::load(APP_PATH . '/Config/Global.php'); // 平台兼容支持 \Norma\Constant::LoadDefineWith([\Norma\Support\Evn::DetectOS(), function () { \Norma\Support\Evn::DetectEngine(); if (!empty(\Norma\Support\Evn::$runEngineEx)) { \Norma\Constant::LoadDefineWith(\Norma\Support\Evn::$runEngineEx, FRAME_PATH . '/Compatibility'); } return \Norma\Support\Evn::$runEngine; }, \Norma\Support\Evn::DetectAccessMode()], FRAME_PATH . '/Compatibility'); // 加载插件 \Norma\Hook::loadPlugin(FRAME_PATH . '/Plugin');
/** * 初始化应用或模块 * @access public * @param string $module 模块名 * @return array */ private static function init($module = '') { // 定位模块目录 $module = $module ? $module . DIRECTORY_SEPARATOR : ''; // 加载初始化文件 if (is_file(APP_PATH . '/' . $module . 'init' . '.php')) { include APP_PATH . '/' . $module . 'init' . '.php'; } else { $path = APP_PATH . '/' . $module; // 加载模块配置 $config = Config::load(APP_PATH . '/Config/' . $module . 'config' . '.php'); // 加载应用状态配置 if ($config['app_status']) { $config = Config::load(APP_PATH . '/Config/' . $module . $config['app_status'] . '.php'); } // 读取扩展配置文件 if ($config['extra_config_list']) { foreach ($config['extra_config_list'] as $name => $file) { $filename = APP_PATH . '/Config/' . $module . $file . '.php'; Config::load($filename, is_string($name) ? $name : pathinfo($filename, PATHINFO_FILENAME)); } } // 加载别名文件 if (is_file(APP_PATH . '/Config/' . $module . 'alias' . '.php')) { Loader::addClassMap(include APP_PATH . '/Config/' . $module . 'alias' . '.php'); } // 加载行为扩展文件 if (is_file(APP_PATH . '/Config/' . $module . 'tags' . '.php')) { Hook::import(include APP_PATH . '/Config/' . $module . 'tags' . '.php'); } // 加载公共文件 if (is_file($path . 'common' . '.php')) { include $path . 'common' . '.php'; } // 加载插件 \Norma\Hook::loadPlugin($path . '/Plugin', ($config['app_namespace'] ?: 'App') . '\\' . trim($module, DIRECTORY_SEPARATOR)); // 加载当前模块语言包 if ($config['lang_switch_on'] && $module) { Lang::load($path . 'lang' . DIRECTORY_SEPARATOR . Request::instance()->langset() . '.php'); } } return Config::get(); }