本文整理汇总了PHP中Hook::import方法的典型用法代码示例。如果您正苦于以下问题:PHP Hook::import方法的具体用法?PHP Hook::import怎么用?PHP Hook::import使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Hook
的用法示例。
在下文中一共展示了Hook::import方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: loadAddons
private function loadAddons()
{
$data = S('hooks');
if (!$data) {
$hooks = M('hooks')->getField('name,addons', true);
foreach ($hooks as $key => $value) {
if ($value) {
$map['status'] = 1;
$names = explode(',', $value);
$map['name'] = array('IN', $names);
$data = M('Addons')->where($map)->getField('id,name');
if ($data) {
$addons = array_intersect($names, $data);
Hook::add($key, $addons);
}
}
}
S('hooks', Hook::get());
//插件标签
$tpl_tags = array();
$data = M('addons')->getField('id,name');
if ($data) {
foreach ($data as $addon) {
if (is_file("HDCMS/Addons/{$addon}/Tag/{$addon}Tag.class.php")) {
$tpl_tags[] = "@.Addons.{$addon}.Tag.{$addon}Tag";
}
}
}
S('HookTag', array_unique($tpl_tags));
} else {
Hook::import($data, false);
C('TPL_TAGS', array_unique(array_merge(C('TPL_TAGS'), S('HookTag'))));
}
}
示例2: init
/**
* 初始化应用
*/
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();
}
示例3: __construct
public function __construct()
{
//设置字符集
header("Content-type:text/html;charset=" . Config::get('app.charset'));
//时区
date_default_timezone_set(Config::get('app.timezone'));
//路由处理
$this->ParseRoute();
//导入钓子
Hook::import(Config::get('hook'));
//定义常量
$this->DefineConsts();
//应用开始钓子
Hook::listen("app_begin");
$this->ExecuteAction();
//应用结束钩子
Hook::listen("app_end");
//保存日志
Log::save();
}
示例4: run
public function run(&$content)
{
$data = S('hooks');
if (!$data) {
$hooks = M('Hooks')->getField('name,plugins');
foreach ($hooks as $key => $value) {
if ($value) {
$map['status'] = 1;
$names = explode(',', $value);
$map['name'] = array('IN', $names);
$data = M('Plugins')->where($map)->getField('id,name');
if ($data) {
$plugins = array_intersect($names, $data);
Hook::add($key, $plugins);
}
}
}
S('hooks', Hook::get());
} else {
Hook::import($data, false);
}
}
示例5: loadAddons
/**
* 加载系统插件
*/
private function loadAddons()
{
$data = S('hooks');
if (!$data || DEBUG) {
$hooks = M('hooks')->where("status=1")->getField('name,addons', true);
if ($hooks) {
foreach ($hooks as $key => $value) {
if ($value) {
$map['status'] = 1;
$names = explode(',', $value);
$map['name'] = array('IN', $names);
$data = M('addons')->where($map)->getField('id,name');
if ($data) {
$addons = array_intersect($names, $data);
Hook::add($key, $addons);
}
}
}
}
S('hooks', Hook::get());
} else {
Hook::import($data, false);
}
}
示例6: register_shutdown_function
// ThinkPHP 引导文件
// 加载基础文件
require __DIR__ . '/base.php';
require CORE_PATH . 'loader.php';
// 注册自动加载
Loader::register();
// 注册错误和异常处理机制
register_shutdown_function(['think\\Error', 'appShutdown']);
set_error_handler(['think\\Error', 'appError']);
set_exception_handler(['think\\Error', 'appException']);
// 加载模式定义文件
$mode = (require MODE_PATH . APP_MODE . EXT);
// 加载模式别名定义
if (isset($mode['alias'])) {
Loader::addMap(is_array($mode['alias']) ? $mode['alias'] : (include $mode['alias']));
}
// 加载模式配置文件
if (isset($mode['config'])) {
is_array($mode['config']) ? Config::set($mode['config']) : Config::load($mode['config']);
}
// 加载模式行为定义
if (APP_HOOK && isset($mode['tags'])) {
Hook::import(is_array($mode['tags']) ? $mode['tags'] : (include $mode['tags']));
}
// 自动生成
if ('sae' != APP_MODE && is_file(APP_PATH . 'build.php')) {
Create::build(include APP_PATH . 'build.php');
}
// 执行应用
!IN_UNIT_TEST && App::run(Config::get());
示例7: dispatch
//.........这里部分代码省略.........
}
// URL常量
define('__SELF__', strip_tags($_SERVER[C('URL_REQUEST_URI')]));
// 获取模块名称
define('MODULE_NAME', defined('BIND_MODULE') ? BIND_MODULE : self::getModule($varModule));
// 检测模块是否存在
if (MODULE_NAME && (defined('BIND_MODULE') || !in_array_case(MODULE_NAME, C('MODULE_DENY_LIST'))) && is_dir(APP_PATH . MODULE_NAME)) {
// 定义当前模块路径
define('MODULE_PATH', APP_PATH . MODULE_NAME . '/');
// 定义当前模块的模版缓存路径
C('CACHE_PATH', CACHE_PATH . MODULE_NAME . '/');
// 定义当前模块的日志目录
C('LOG_PATH', realpath(LOG_PATH) . '/' . MODULE_NAME . '/');
// 模块检测
Hook::listen('module_check');
// 加载模块配置文件
if (is_file(MODULE_PATH . 'Conf/config' . CONF_EXT)) {
C(load_config(MODULE_PATH . 'Conf/config' . CONF_EXT));
}
// 加载应用模式对应的配置文件
if ('common' != APP_MODE && is_file(MODULE_PATH . 'Conf/config_' . APP_MODE . CONF_EXT)) {
C(load_config(MODULE_PATH . 'Conf/config_' . APP_MODE . CONF_EXT));
}
// 当前应用状态对应的配置文件
if (APP_STATUS && is_file(MODULE_PATH . 'Conf/' . APP_STATUS . CONF_EXT)) {
C(load_config(MODULE_PATH . 'Conf/' . APP_STATUS . CONF_EXT));
}
// 加载模块别名定义
if (is_file(MODULE_PATH . 'Conf/alias.php')) {
Think::addMap(include MODULE_PATH . 'Conf/alias.php');
}
// 加载模块tags文件定义
if (is_file(MODULE_PATH . 'Conf/tags.php')) {
Hook::import(include MODULE_PATH . 'Conf/tags.php');
}
// 加载模块函数文件
if (is_file(MODULE_PATH . 'Common/function.php')) {
include MODULE_PATH . 'Common/function.php';
}
// 加载模块的扩展配置文件
load_ext_file(MODULE_PATH);
} else {
E(L('_MODULE_NOT_EXIST_') . ':' . MODULE_NAME);
}
if (!defined('__APP__')) {
$urlMode = C('URL_MODEL');
if ($urlMode == URL_COMPAT) {
// 兼容模式判断
define('PHP_FILE', _PHP_FILE_ . '?' . $varPath . '=');
} elseif ($urlMode == URL_REWRITE) {
$url = dirname(_PHP_FILE_);
if ($url == '/' || $url == '\\') {
$url = '';
}
define('PHP_FILE', $url);
} else {
define('PHP_FILE', _PHP_FILE_);
}
// 当前应用地址
define('__APP__', strip_tags(PHP_FILE));
}
// 模块URL地址
$moduleName = defined('MODULE_ALIAS') ? MODULE_ALIAS : MODULE_NAME;
define('__MODULE__', defined('BIND_MODULE') || !C('MULTI_MODULE') ? __APP__ : __APP__ . '/' . ($urlCase ? strtolower($moduleName) : $moduleName));
if ('' != $_SERVER['PATH_INFO'] && (!C('URL_ROUTER_ON') || !Route::check())) {
// 检测路由规则 如果没有则按默认规则调度URL
示例8: start
/**
* 应用程序初始化
* @access public
* @return void
*/
public static function start()
{
// 注册AUTOLOAD方法
spl_autoload_register('Think\\Think::autoload');
// 设定错误和异常处理
register_shutdown_function('Think\\Think::fatalError');
set_error_handler('Think\\Think::appError');
set_exception_handler('Think\\Think::appException');
// 初始化文件存储方式
Storage::connect(STORAGE_TYPE);
$runtimefile = RUNTIME_PATH . APP_MODE . '~runtime.php';
if (!APP_DEBUG && Storage::has($runtimefile)) {
Storage::load($runtimefile);
} else {
if (Storage::has($runtimefile)) {
Storage::unlink($runtimefile);
}
$content = '';
// 读取应用模式
$mode = (include is_file(CONF_PATH . 'core.php') ? CONF_PATH . 'core.php' : MODE_PATH . APP_MODE . '.php');
// 加载核心文件
foreach ($mode['core'] as $file) {
if (is_file($file)) {
include $file;
if (!APP_DEBUG) {
$content .= compile($file);
}
}
}
// 加载应用模式配置文件
foreach ($mode['config'] as $key => $file) {
is_numeric($key) ? C(include $file) : C($key, include $file);
}
// 读取当前应用模式对应的配置文件
if ('common' != APP_MODE && is_file(CONF_PATH . 'config_' . APP_MODE . '.php')) {
C(include CONF_PATH . 'config_' . APP_MODE . '.php');
}
// 加载模式别名定义
if (isset($mode['alias'])) {
self::addMap(is_array($mode['alias']) ? $mode['alias'] : (include $mode['alias']));
}
// 加载应用别名定义文件
if (is_file(CONF_PATH . 'alias.php')) {
self::addMap(include CONF_PATH . 'alias.php');
}
// 加载模式行为定义
if (isset($mode['tags'])) {
Hook::import(is_array($mode['tags']) ? $mode['tags'] : (include $mode['tags']));
}
// 加载应用行为定义
if (is_file(CONF_PATH . 'tags.php')) {
// 允许应用增加开发模式配置定义
Hook::import(include CONF_PATH . 'tags.php');
}
// 加载框架底层语言包
L(include THINK_PATH . 'Lang/' . strtolower(C('DEFAULT_LANG')) . '.php');
if (!APP_DEBUG) {
$content .= "\nnamespace { Think\\Think::addMap(" . var_export(self::$_map, true) . ");";
$content .= "\nL(" . var_export(L(), true) . ");\nC(" . var_export(C(), true) . ');Think\\Hook::import(' . var_export(Hook::get(), true) . ');}';
Storage::put($runtimefile, strip_whitespace('<?php ' . $content));
} else {
// 调试模式加载系统默认的配置文件
C(include THINK_PATH . 'Conf/debug.php');
// 读取应用调试配置文件
if (is_file(CONF_PATH . 'debug.php')) {
C(include CONF_PATH . 'debug.php');
}
}
}
// 读取当前应用状态对应的配置文件
if (APP_STATUS && is_file(CONF_PATH . APP_STATUS . '.php')) {
C(include CONF_PATH . APP_STATUS . '.php');
}
// 设置系统时区
date_default_timezone_set(C('DEFAULT_TIMEZONE'));
// 检查应用目录结构 如果不存在则自动创建
if (C('CHECK_APP_DIR') && !is_dir(LOG_PATH)) {
// 创建应用目录结构
require THINK_PATH . 'Common/build.php';
}
// 记录加载文件时间
G('loadTime');
// 运行应用
App::run();
}
示例9: initModule
private static function initModule($module, $config)
{
// 定位模块目录
$module = COMMON_MODULE == $module || !APP_MULTI_MODULE ? '' : $module . DS;
// 加载初始化文件
if (is_file(APP_PATH . $module . 'init' . EXT)) {
include APP_PATH . $module . 'init' . EXT;
} else {
$path = APP_PATH . $module;
// 加载模块配置
Config::load($module . 'config');
// 加载应用状态配置
if ($config['app_status']) {
Config::load($module . $config['app_status']);
}
// 加载别名文件
if (is_file($path . 'alias' . EXT)) {
Loader::addMap(include $path . 'alias' . EXT);
}
// 加载行为扩展文件
if (APP_HOOK && is_file($path . 'tags' . EXT)) {
Hook::import(include $path . 'tags' . EXT);
}
// 加载公共文件
if (is_file($path . 'common' . EXT)) {
include $path . 'common' . EXT;
}
// 加载当前模块语言包
if ($config['lang_switch_on'] && $module) {
Lang::load($path . 'lang' . DS . LANG_SET . EXT);
}
}
}
示例10: initModule
private static function initModule($module, &$config)
{
// 定位模块目录
$module = COMMON_MODULE == $module ? '' : $module . '/';
// 加载初始化文件
if (is_file(APP_PATH . $module . 'init' . EXT)) {
include APP_PATH . $module . 'init' . EXT;
} else {
$path = APP_PATH . $module;
// 加载模块配置
$config = Config::load($module . 'config');
// 加载应用状态配置
if ($config['app_status']) {
$config = Config::load($module . $config['app_status']);
}
// 加载别名文件
if (is_file($path . 'alias' . EXT)) {
Loader::addMap(include $path . 'alias' . EXT);
}
// 加载行为扩展文件
if (is_file($path . 'tags' . EXT)) {
Hook::import(include $path . 'tags' . EXT);
}
// 加载公共文件
if (is_file($path . 'common' . EXT)) {
include $path . 'common' . EXT;
}
}
}
示例11: initModule
/**
* 初始化模块
* @access private
* @return void
*/
private static function initModule($path, &$config)
{
// 加载初始化文件
if (is_file($path . 'init' . EXT)) {
include $path . 'init' . EXT;
} else {
// 检测配置文件
if (is_file($path . 'config' . EXT)) {
$config = Config::set(include $path . 'config' . EXT);
}
// 检测额外配置
if ($config['extra_config_list']) {
foreach ($config['extra_config_list'] as $conf) {
if (is_file($path . $conf . EXT)) {
$config = Config::set(include $path . $conf . EXT);
}
}
}
// 加载应用状态配置文件
if ($config['app_status'] && is_file($path . $config['app_status'] . EXT)) {
$config = Config::set(include $path . $config['app_status'] . EXT);
}
// 加载别名文件
if (is_file($path . 'alias' . EXT)) {
Loader::addMap(include $path . 'alias' . EXT);
}
// 加载公共文件
if (is_file($path . 'common' . EXT)) {
include $path . 'common' . EXT;
}
// 加载行为扩展文件
if (is_file($path . 'tags' . EXT)) {
Hook::import(include $path . 'tags' . EXT);
}
}
}
示例12: _app_run
/**
* [_app_run 默认让应用跑起来]
* @Author Rukic
* @DateTime 2015-11-06T19:20:17+0800
* @return [type] [description]
*/
private static function _app_run()
{
if (C('URL_MODEL') == 2) {
$c = isset($_GET[C('VAR_CONTROLLER')]) ? $_GET[C('VAR_CONTROLLER')] : 'Index';
$a = isset($_GET[C('VAR_ACTION')]) ? $_GET[C('VAR_ACTION')] : 'index';
$m = isset($_GET[C('VAR_MODULE')]) ? $_GET[C('VAR_MODULE')] : 'Index';
} elseif (C('URL_MODEL') == 1) {
$ary_url = Router::pauseUrl();
//p($ary_url);
$m = ucfirst($ary_url['module']);
$c = ucfirst($ary_url['controller']);
$a = ucfirst($ary_url['method']);
}
//定义模块内的常量
define('MODULE', ucfirst($m));
define('CONTROLLER', ucfirst($c));
define('ACTION', ucfirst($a));
define('MODULE_PATH', ROOT_PATH . APP_PATH . '/' . MODULE);
define('MODULE_CONTROLLER_PATH', MODULE_PATH . '/Controller');
define('MODULE_MODEL_PATH', MODULE_PATH . '/Model');
define('MODULE_CONFIG_PATH', MODULE_PATH . '/Config');
define('MODULE_TPL_PATH', MODULE_PATH . '/Tpl');
define('MODULE_PUBLIC_PATH', MODULE_TPL_PATH . '/Public');
define('MODULE_HOOK_PATH', MODULE_PATH . '/Hook');
//设置路径
self::_set_url();
Hook::import(C('HOOK'));
//导入钩子
$c .= 'Controller';
if (class_exists($c)) {
$obj = new $c();
if (!method_exists($obj, $a)) {
if (method_exists($obj, '__empty')) {
$obj->__empty();
} else {
halt($c . '控制器中的' . $a . '方法未找到呢~~~');
}
} else {
$obj->{$a}();
}
} else {
$obj = new EmptyController();
$obj->index();
}
}
示例13: initModule
private static function initModule($module, $config)
{
// 定位模块目录
$module = COMMON_MODULE == $module || !APP_MULTI_MODULE ? '' : $module . DS;
// 加载初始化文件
if (is_file(APP_PATH . $module . 'init' . EXT)) {
include APP_PATH . $module . 'init' . EXT;
} else {
$path = APP_PATH . $module;
// 加载模块配置
$config = Config::load(APP_PATH . $module . 'config' . EXT);
// 加载应用状态配置
if ($config['app_status']) {
$config = Config::load(APP_PATH . $module . $config['app_status'] . EXT);
}
// 读取扩展配置文件
if ($config['extra_config_list']) {
foreach ($config['extra_config_list'] as $name => $file) {
$filename = $path . $file . EXT;
Config::load($filename, is_string($name) ? $name : pathinfo($filename, PATHINFO_FILENAME));
}
}
// 加载别名文件
if (is_file($path . 'alias' . EXT)) {
Loader::addMap(include $path . 'alias' . EXT);
}
// 加载行为扩展文件
if (APP_HOOK && is_file($path . 'tags' . EXT)) {
Hook::import(include $path . 'tags' . EXT);
}
// 加载公共文件
if (is_file($path . 'common' . EXT)) {
include $path . 'common' . EXT;
}
// 加载当前模块语言包
if ($config['lang_switch_on'] && $module) {
Lang::load($path . 'lang' . DS . LANG_SET . EXT);
}
}
}
示例14: getenv
// 自动识别调试模式
if (!defined('APP_DEBUG')) {
$debug = getenv(ENV_PREFIX . 'APP_DEBUG');
define('APP_DEBUG', $debug);
}
// 加载模式定义文件
$mode = (require MODE_PATH . APP_MODE . EXT);
// 加载模式命名空间定义
if (isset($mode['namespace'])) {
Loader::addNamespace($mode['namespace']);
}
// 注册自动加载
Loader::register();
// 加载模式别名定义
if (isset($mode['alias'])) {
Loader::addMap($mode['alias']);
}
// 注册错误和异常处理机制
Error::register();
// 加载模式配置文件
if (isset($mode['config'])) {
is_array($mode['config']) ? Config::set($mode['config']) : Config::load($mode['config']);
}
// 加载模式行为定义
if (APP_HOOK && isset($mode['tags'])) {
Hook::import($mode['tags']);
}
// 是否自动运行
if (APP_AUTO_RUN) {
App::run();
}
示例15: start
/**
* 应用程序初始化
* @access public
* @return void
*/
public static function start()
{
// 设定错误和异常处理
register_shutdown_function('Think\\Think::fatalError');
set_error_handler('Think\\Think::appError');
set_exception_handler('Think\\Think::appException');
// 注册AUTOLOAD方法
spl_autoload_register('Think\\Think::autoload');
// 初始化文件存储方式
Storage::connect(STORAGE_TYPE);
$runtimefile = RUNTIME_PATH . APP_MODE . '~runtime.php';
if (!APP_DEBUG && Storage::has($runtimefile, 'runtime')) {
Storage::load($runtimefile, null, 'runtime');
} else {
if (Storage::has($runtimefile, 'runtime')) {
Storage::unlink($runtimefile, 'runtime');
}
$content = '';
// 读取应用模式
$mode = (include is_file(COMMON_PATH . 'Conf/core.php') ? COMMON_PATH . 'Conf/core.php' : THINK_PATH . 'Conf/Mode/' . APP_MODE . '.php');
// 加载核心文件
foreach ($mode['core'] as $file) {
if (is_file($file)) {
include $file;
if (!APP_DEBUG) {
$content .= compile($file);
}
}
}
// 加载配置文件
foreach ($mode['config'] as $key => $file) {
is_numeric($key) ? C(include $file) : C($key, include $file);
}
// 加载别名定义
foreach ($mode['alias'] as $alias) {
self::addMap(is_array($alias) ? $alias : (file_exists($alias) ? include $alias : array()));
}
// 加载模式系统行为定义
if (isset($mode['extends'])) {
Hook::import(is_array($mode['extends']) ? $mode['extends'] : (include $mode['extends']));
}
// 加载应用行为定义
if (isset($mode['tags'])) {
if (is_array($mode['tags'])) {
$tags = $mode['tags'];
} else {
$tags = file_exists($mode['tags']) ? include $mode['tags'] : array();
}
Hook::import($tags);
}
// 加载框架底层语言包
L(include THINK_PATH . 'Lang/' . strtolower(C('DEFAULT_LANG')) . '.php');
if (!APP_DEBUG) {
$content .= "\nnamespace { Think\\Think::addMap(" . var_export(self::$_map, true) . ");";
$content .= "\nL(" . var_export(L(), true) . ");\nC(" . var_export(C(), true) . ');Think\\Hook::import(' . var_export(Hook::get(), true) . ');}';
Storage::put($runtimefile, strip_whitespace('<?php ' . $content), 'runtime');
} else {
// 调试模式加载系统默认的配置文件
C(include THINK_PATH . 'Conf/debug.php');
// 读取调试模式的应用状态
$status = C('APP_STATUS');
// 加载对应的项目配置文件
if (is_file(COMMON_PATH . 'Conf/' . $status . '.php')) {
// 允许项目增加开发模式配置定义
C(include COMMON_PATH . 'Conf/' . $status . '.php');
}
}
}
// 设置系统时区
date_default_timezone_set(C('DEFAULT_TIMEZONE'));
// 检查项目目录结构 如果不存在则自动创建
if (C('CHECK_APP_DIR') && !is_dir(LOG_PATH)) {
// 创建项目目录结构
require THINK_PATH . 'Common/build.php';
}
// 记录加载文件时间
G('loadTime');
if (!defined('IsInterface')) {
// 运行应用
App::run();
} else {
App::init();
}
}