本文整理汇总了PHP中Think::addMap方法的典型用法代码示例。如果您正苦于以下问题:PHP Think::addMap方法的具体用法?PHP Think::addMap怎么用?PHP Think::addMap使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Think
的用法示例。
在下文中一共展示了Think::addMap方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: dispatch
//.........这里部分代码省略.........
$_SERVER['PATH_INFO'] = isset($paths[1]) ? $paths[1] : '';
}
}
}
}
// 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地址
示例2: dispatch
//.........这里部分代码省略.........
$pos = array_search('*', $parms);
if (false !== $pos) {
// 泛域名作为参数
$parms[$pos] = $panDomain;
}
}
$_GET = array_merge($_GET, $parms);
}
}
}
// 分析PATHINFO信息
if (!isset($_SERVER['PATH_INFO'])) {
$types = explode(',', C('URL_PATHINFO_FETCH'));
foreach ($types as $type) {
if (!empty($_SERVER[$type])) {
$_SERVER['PATH_INFO'] = 0 === strpos($_SERVER[$type], $_SERVER['SCRIPT_NAME']) ? substr($_SERVER[$type], strlen($_SERVER['SCRIPT_NAME'])) : $_SERVER[$type];
break;
}
}
}
if (empty($_SERVER['PATH_INFO'])) {
$_SERVER['PATH_INFO'] = '';
}
$depr = C('URL_PATHINFO_DEPR');
define('MODULE_PATHINFO_DEPR', $depr);
define('__INFO__', trim($_SERVER['PATH_INFO'], '/'));
// URL后缀
define('__EXT__', strtolower(pathinfo($_SERVER['PATH_INFO'], PATHINFO_EXTENSION)));
$_SERVER['PATH_INFO'] = __INFO__;
if (__INFO__ && C('MULTI_MODULE') && !defined('BIND_MODULE')) {
// 获取模块名
$paths = explode($depr, __INFO__, 2);
$allowList = C('MODULE_ALLOW_LIST');
// 允许的模块列表
$module = preg_replace('/\\.' . __EXT__ . '$/i', '', $paths[0]);
if (empty($allowList) || is_array($allowList) && in_array_case($module, $allowList)) {
$_GET[$varModule] = $module;
$_SERVER['PATH_INFO'] = isset($paths[1]) ? $paths[1] : '';
}
}
// 获取模块名称
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 . '/');
// 加载模块配置文件
if (is_file(MODULE_PATH . 'Conf/config.php')) {
C(include MODULE_PATH . 'Conf/config.php');
}
// 加载模块别名定义
if (is_file(MODULE_PATH . 'Conf/alias.php')) {
Think::addMap(include MODULE_PATH . 'Conf/alias.php');
}
// 加载模块函数文件
if (is_file(MODULE_PATH . 'Common/function.php')) {
include MODULE_PATH . 'Common/function.php';
}
} else {
E(L('_MODULE_NOT_EXIST_') . ':' . MODULE_NAME);
}
if ('' != $_SERVER['PATH_INFO'] && (!C('URL_ROUTER_ON') || !Route::check())) {
// 检测路由规则 如果没有则按默认规则调度URL
// 检查禁止访问的URL后缀
if (C('URL_DENY_SUFFIX') && preg_match('/\\.(' . trim(C('URL_DENY_SUFFIX'), '.') . ')$/i', $_SERVER['PATH_INFO'])) {
send_http_status(404);
exit;
}
// 去除URL后缀
$_SERVER['PATH_INFO'] = preg_replace(C('URL_HTML_SUFFIX') ? '/\\.(' . trim(C('URL_HTML_SUFFIX'), '.') . ')$/i' : '/\\.' . __EXT__ . '$/i', '', $_SERVER['PATH_INFO']);
$depr = C('URL_PATHINFO_DEPR');
$paths = explode($depr, trim($_SERVER['PATH_INFO'], $depr));
if (!defined('BIND_CONTROLLER')) {
// 获取控制器
$_GET[$varController] = array_shift($paths);
}
// 获取操作
if (!defined('BIND_ACTION')) {
$_GET[$varAction] = array_shift($paths);
}
// 解析剩余的URL参数
$var = array();
if (C('URL_PARAMS_BIND') && 1 == C('URL_PARAMS_BIND_TYPE')) {
// URL参数按顺序绑定变量
$var = $paths;
} else {
preg_replace_callback('/(\\w+)\\/([^\\/]+)/', function ($match) use(&$var) {
$var[$match[1]] = strip_tags($match[2]);
}, implode('/', $paths));
}
$_GET = array_merge($var, $_GET);
}
// 获取控制器和操作名
define('CONTROLLER_NAME', defined('BIND_CONTROLLER') ? BIND_CONTROLLER : self::getController($varController, $urlCase));
define('ACTION_NAME', defined('BIND_ACTION') ? BIND_ACTION : self::getAction($varAction, $urlCase));
//保证$_REQUEST正常取值
$_REQUEST = array_merge($_POST, $_GET);
}
示例3: dispatch
//.........这里部分代码省略.........
break;
}
}
}
if (empty($_SERVER['PATH_INFO'])) {
$_SERVER['PATH_INFO'] = '';
}
$depr = C('URL_PATHINFO_DEPR');
define('MODULE_PATHINFO_DEPR', $depr);
define('__INFO__', trim($_SERVER['PATH_INFO'], '/'));
// URL后缀
define('__EXT__', strtolower(pathinfo($_SERVER['PATH_INFO'], PATHINFO_EXTENSION)));
if (__INFO__ && C('MULTI_MODULE') && !isset($_GET[$varModule])) {
// 获取模块
$paths = explode($depr, __INFO__, 2);
$allowList = C('MODULE_ALLOW_LIST');
$module = preg_replace('/\\.' . __EXT__ . '$/i', '', $paths[0]);
if (empty($allowList) || is_array($allowList) && in_array_case($module, $allowList)) {
$_GET[$varModule] = $module;
$_SERVER['PATH_INFO'] = isset($paths[1]) ? $paths[1] : '';
} else {
$_SERVER['PATH_INFO'] = __INFO__;
}
} else {
$_SERVER['PATH_INFO'] = __INFO__;
}
// 获取模块名称
define('MODULE_NAME', self::getModule($varModule));
// 检测模块是否存在
if (MODULE_NAME && (!in_array_case(MODULE_NAME, C('MODULE_DENY_LIST')) || $domainModule) && is_dir(APP_PATH . MODULE_NAME)) {
// 定义当前模块路径
define('MODULE_PATH', APP_PATH . MODULE_NAME . '/');
// 加载模块配置文件
if (is_file(MODULE_PATH . 'Conf/config.php')) {
C(include MODULE_PATH . 'Conf/config.php');
}
/**加载模板公共配置文件
* 2015-5-14 13:43
* 增加模板配置文件加载 start
* @author 郑钟良<zzl@ourstu.com>
*/
if (is_file(OS_THEME_PATH . 'config.php')) {
$TMPL_PARSE_STRING = C('TMPL_PARSE_STRING');
C(include OS_THEME_PATH . 'config.php');
$NEW_TMPL_PARSE_STRING = C('TMPL_PARSE_STRING');
$NEW_TMPL_PARSE_STRING = array_merge($NEW_TMPL_PARSE_STRING, $TMPL_PARSE_STRING);
C('TMPL_PARSE_STRING', $NEW_TMPL_PARSE_STRING);
}
/**
* 2015-5-14 13:43
* 增加模板配置文件加载 end
* @author 郑钟良<zzl@ourstu.com>
*/
// 加载模块别名定义
if (is_file(MODULE_PATH . 'Conf/alias.php')) {
Think::addMap(include MODULE_PATH . 'Conf/alias.php');
}
// 加载模块函数文件
if (is_file(MODULE_PATH . 'Common/function.php')) {
include MODULE_PATH . 'Common/function.php';
}
} else {
E(L('_MODULE_NOT_EXIST_') . ':' . MODULE_NAME, 815);
}
if ('' != $_SERVER['PATH_INFO']) {
// 检查禁止访问的URL后缀
if (C('URL_DENY_SUFFIX') && preg_match('/\\.(' . trim(C('URL_DENY_SUFFIX'), '.') . ')$/i', $_SERVER['PATH_INFO'])) {
send_http_status(404);
exit;
}
if (C('URL_HTML_SUFFIX')) {
$_SERVER['PATH_INFO'] = preg_replace('/\\.(' . trim(C('URL_HTML_SUFFIX'), '.') . ')$/i', '', $_SERVER['PATH_INFO']);
} else {
$_SERVER['PATH_INFO'] = preg_replace('/\\.' . __EXT__ . '$/i', '', $_SERVER['PATH_INFO']);
}
$depr = C('URL_PATHINFO_DEPR');
$paths = explode($depr, trim($_SERVER['PATH_INFO'], $depr));
if (!isset($_GET[$varController])) {
// 获取控制器
$_GET[$varController] = array_shift($paths);
}
// 获取操作
$_GET[$varAction] = array_shift($paths);
// 解析剩余的URL参数
$var = array();
if (C('URL_PARAMS_BIND') && 1 == C('URL_PARAMS_BIND_TYPE')) {
// URL参数按顺序绑定变量
$var = $paths;
} else {
preg_replace_callback('/(\\w+)\\/([^\\/]+)/', function ($match) use(&$var) {
$var[$match[1]] = strip_tags($match[2]);
}, implode('/', $paths));
}
$_GET = array_merge($var, $_GET);
}
define('CONTROLLER_NAME', self::getController($varController));
define('ACTION_NAME', self::getAction($varAction));
//保证$_REQUEST正常取值
$_REQUEST = array_merge($_POST, $_GET);
}