本文整理匯總了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);
}