mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-03 05:52:48 +08:00
路由到类的方法和控制器方法 支持传入额外参数,用于方法的参数
This commit is contained in:
@@ -141,11 +141,11 @@ class App
|
||||
break;
|
||||
case 'controller':
|
||||
// 执行控制器操作
|
||||
$data = Loader::action($dispatch['controller']);
|
||||
$data = Loader::action($dispatch['controller'], $dispatch['var']);
|
||||
break;
|
||||
case 'method':
|
||||
// 执行回调方法
|
||||
$data = self::invokeMethod($dispatch['method']);
|
||||
$data = self::invokeMethod($dispatch['method'], $dispatch['var']);
|
||||
break;
|
||||
case 'function':
|
||||
// 执行闭包
|
||||
|
||||
@@ -1480,12 +1480,15 @@ class Route
|
||||
$result = ['type' => 'redirect', 'url' => $route, 'status' => isset($option['status']) ? $option['status'] : 301];
|
||||
} elseif (false !== strpos($route, '\\')) {
|
||||
// 路由到方法
|
||||
$route = str_replace('/', '@', $route);
|
||||
$method = strpos($route, '@') ? explode('@', $route) : $route;
|
||||
$result = ['type' => 'method', 'method' => $method];
|
||||
list($route, $var) = self::parseUrlPath($route);
|
||||
$route = str_replace('/', '@', $route);
|
||||
$method = strpos($route, '@') ? explode('@', $route) : $route;
|
||||
$result = ['type' => 'method', 'method' => $method, 'var' => $var];
|
||||
} elseif (0 === strpos($route, '@')) {
|
||||
// 路由到控制器
|
||||
$result = ['type' => 'controller', 'controller' => substr($route, 1)];
|
||||
$route = substr($route, 1);
|
||||
list($route, $var) = self::parseUrlPath($route);
|
||||
$result = ['type' => 'controller', 'controller' => $route, 'var' => $var];
|
||||
} else {
|
||||
// 路由到模块/控制器/操作
|
||||
$result = self::parseModule($route);
|
||||
|
||||
Reference in New Issue
Block a user