Exemplo n.º 1
0
 public function deafultAppInitialize()
 {
     \Norma\Support\Evn::isWeb() && \Norma\Hook::loadPlugin(APP_LIB_PATH . '/Plugin', '');
 }
Exemplo n.º 2
0
// | 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');
Exemplo n.º 3
0
 /**
  * 初始化应用或模块
  * @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();
 }