/** * Kernel类的核心启动框架的方法 */ public static function start() { //加载配置信息,用户自定义的配置会覆盖系统的配置 self::loadConf(); //加载语言包 self::loadLang(); //自动加载类库 spl_autoload_register('Kernel::autoload'); //自动加载用户自定义的函数库 self::loadfunc(); //初始化session self::session(); //自动的解析URL分发 self::parseurl(); //脚本退出注册函数 register_shutdown_function('shutdown'); //目录检测和自动生成,为了效率此函数仅仅执行一次 self::mkdirs(); //是否创建demo例子程序 $lockfile = TEMP_PATH . 'build_demo.lock'; if (C_DEMO && !is_file($lockfile)) { Demo::cdemo(); touch($lockfile); } $con_name = self::$_controller . self::$_conf['C_NAME']; $act_name = self::$_controller . '_' . self::$_action . self::$_conf['A_NAME']; if (!class_exists($con_name)) { if (DEBUG) { die(self::$_lang['_SYS_LANG_CLASS_NOT_FIND'] . ' : ' . $con_name); } else { die(self::$_lang['_SYS_LANG_CLASS_NOT_FIND']); } } if (!class_exists($act_name)) { if (DEBUG) { die(self::$_lang['_SYS_LANG_CLASS_NOT_FIND'] . ' : ' . $act_name); } else { die(self::$_lang['_SYS_LANG_CLASS_NOT_FIND']); } } $con_obj = new $con_name(); $act_obj = new $act_name(); $con_obj->init(); $act_obj->init(); $act_obj->run(); }