本文整理汇总了PHP中Routes::current方法的典型用法代码示例。如果您正苦于以下问题:PHP Routes::current方法的具体用法?PHP Routes::current怎么用?PHP Routes::current使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Routes
的用法示例。
在下文中一共展示了Routes::current方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: run
public static function run()
{
//
$url = isset($_GET['url']) ? '/' . $_GET['url'] : '/';
//echo $url;
if (!Config::get("maintenance.activate") || in_array($url, Config::get("maintenance.outRoutes"))) {
for ($i = 0; $i < count(self::$_uri); $i++) {
if (strpos(self::$_uri[$i], '{}') !== false) {
self::$_uri[$i] = str_replace('{}', '(.*)?', self::$_uri[$i]);
}
}
//
$ok = 0;
foreach (self::$_uri as $key => $value) {
if (preg_match("#^{$value}\$#", $url, $params)) {
if (self::$_type[$key] == "post" && Res::isPost()) {
array_shift($params);
//
//before filter
//
call_user_func(App::$Callbacks['before']);
//
//new filter
//
$ok = true;
$falseok = null;
$oks = array();
//
if (is_string(self::$_request[$key])) {
if (!empty(self::$_request[$key])) {
$call = self::$_filters[self::$_request[$key]];
$ok = call_user_func($call);
if (!$ok) {
$falseok = self::$_request[$key];
}
}
} else {
if (is_array(self::$_request[$key])) {
if (!empty(self::$_request[$key])) {
foreach (self::$_request[$key] as $key2 => $value2) {
$call = self::$_filters[$value2];
$ok = call_user_func($call);
if (!$ok) {
$falseok = $value2;
break;
}
}
}
}
}
// run the route callback
if ($ok) {
self::$current = $value;
call_user_func_array(self::$_callback[$key], $params);
} else {
if (isset(self::$_falsecall[$falseok]) && !empty(self::$_falsecall[$falseok])) {
$call = self::$_falsecall[$falseok];
$ok = call_user_func($call);
}
}
//
//after filter
//
call_user_func(App::$Callbacks['after']);
$ok = 1;
break;
//
// old
// array_shift($params);
// call_user_func_array(self::$_callback[$key], $params);
// $ok=1;
} else {
if (self::$_type[$key] == "post" && !Res::isPost()) {
$ok = 0;
} else {
if (self::$_type[$key] == "get") {
array_shift($params);
//
//before filter
//
call_user_func(App::$Callbacks['before']);
//
//new filter
//
$ok = true;
$falseok = null;
$oks = array();
//
if (is_string(self::$_request[$key])) {
if (!empty(self::$_request[$key])) {
$call = self::$_filters[self::$_request[$key]];
$ok = call_user_func($call);
if (!$ok) {
$falseok = self::$_request[$key];
}
}
} else {
if (is_array(self::$_request[$key])) {
if (!empty(self::$_request[$key])) {
foreach (self::$_request[$key] as $key2 => $value2) {
//.........这里部分代码省略.........
示例2: runRoute
protected static function runRoute($request, $params)
{
self::$current = $request["name"];
return call_user_func_array($request["callback"], $params);
}