本文整理匯總了PHP中XWB_plugin::_magic_var方法的典型用法代碼示例。如果您正苦於以下問題:PHP XWB_plugin::_magic_var方法的具體用法?PHP XWB_plugin::_magic_var怎麽用?PHP XWB_plugin::_magic_var使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類XWB_plugin
的用法示例。
在下文中一共展示了XWB_plugin::_magic_var方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: V
/**
* 獲取還原(非轉義)後的 $_GET / $_POST / $_FILES / $_COOKIE / $_REQUEST / $_SERVER / $_ENV
* @param string $vRoute 變量路由,規則為:“<第一個字母>[:變量索引/[變量索引]]
* 例: V('g:TEST/BB'); 表示獲取 $_GET['TEST']['BB']
* V('p'); 表示獲取 $_POST
* V('c:var_name');表示獲取 $_COOKIE['var_name']
* 第一個字母需要為小寫
* @param mixed $def_v 默認值
* @param boolen $setVar 強製初始化值,並返回true
* @return mixed 當使用強製初始化值時,返回true;否則,將返回指定變量路由規則的變量。
*/
function V($vRoute, $def_v = NULL, $setVar = false)
{
static $v = array();
static $vKeyMap = array('C' => '_COOKIE', 'G' => '_GET', 'P' => '_POST', 'R' => '_REQUEST', 'F' => '_FILES', 'S' => '_SERVER', 'E' => '_ENV');
$vRoute = trim($vRoute);
//強製初始化值
if ($setVar) {
$v[$vRoute] = $def_v;
return true;
}
if (!isset($v[$vRoute])) {
if (empty($_REQUEST)) {
$_REQUEST = array_merge($_GET, $_POST, $_COOKIE);
}
if (!preg_match("#^([cgprfse])(?::(.+))?\$#sim", $vRoute, $m) || !isset($vKeyMap[strtoupper($m[1])])) {
trigger_error("Can't parse var from vRoute: {$vRoute} ", E_USER_WARNING);
return NULL;
}
$m[1] = strtoupper($m[1]);
$tv = $GLOBALS[$vKeyMap[$m[1]]];
if (empty($tv)) {
$v[$vRoute] = $def_v;
} elseif (empty($m[2])) {
$v[$vRoute] = ($m[1] == 'F' || $m[1] == 'S') && version_compare(PHP_VERSION, '5.0.0', '>=') ? $tv : XWB_plugin::_magic_var($tv);
} else {
$vr = explode('/', $m[2]);
foreach ($vr as $vk) {
if (!isset($tv[$vk])) {
$tv = $def_v;
break;
}
$tv = $tv[$vk];
}
$v[$vRoute] = ($m[1] == 'F' || $m[1] == 'S') && version_compare(PHP_VERSION, '5.0.0', '>=') ? $tv : XWB_plugin::_magic_var($tv);
}
}
return $v[$vRoute];
}