本文整理汇总了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];
}