mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-01 12:42:48 +08:00
修正
This commit is contained in:
@@ -1480,15 +1480,15 @@ class Route
|
|||||||
$result = ['type' => 'redirect', 'url' => $route, 'status' => isset($option['status']) ? $option['status'] : 301];
|
$result = ['type' => 'redirect', 'url' => $route, 'status' => isset($option['status']) ? $option['status'] : 301];
|
||||||
} elseif (false !== strpos($route, '\\')) {
|
} elseif (false !== strpos($route, '\\')) {
|
||||||
// 路由到方法
|
// 路由到方法
|
||||||
list($route, $var) = self::parseUrlPath($route);
|
list($path, $var) = self::parseUrlPath($route);
|
||||||
$route = str_replace('/', '@', $route);
|
$route = str_replace('/', '@', implode('/', $path));
|
||||||
$method = strpos($route, '@') ? explode('@', $route) : $route;
|
$method = strpos($route, '@') ? explode('@', $route) : $route;
|
||||||
$result = ['type' => 'method', 'method' => $method, 'var' => $var];
|
$result = ['type' => 'method', 'method' => $method, 'var' => $var];
|
||||||
} elseif (0 === strpos($route, '@')) {
|
} elseif (0 === strpos($route, '@')) {
|
||||||
// 路由到控制器
|
// 路由到控制器
|
||||||
$route = substr($route, 1);
|
$route = substr($route, 1);
|
||||||
list($route, $var) = self::parseUrlPath($route);
|
list($route, $var) = self::parseUrlPath($route);
|
||||||
$result = ['type' => 'controller', 'controller' => $route, 'var' => $var];
|
$result = ['type' => 'controller', 'controller' => implode('/', $route), 'var' => $var];
|
||||||
} else {
|
} else {
|
||||||
// 路由到模块/控制器/操作
|
// 路由到模块/控制器/操作
|
||||||
$result = self::parseModule($route);
|
$result = self::parseModule($route);
|
||||||
|
|||||||
@@ -227,7 +227,7 @@ class routeTest extends \PHPUnit_Framework_TestCase
|
|||||||
{
|
{
|
||||||
$request = Request::instance();
|
$request = Request::instance();
|
||||||
Route::get('say/:name', '@index/hello');
|
Route::get('say/:name', '@index/hello');
|
||||||
$this->assertEquals(['type' => 'controller', 'controller' => 'index/hello'], Route::check($request, 'say/thinkphp'));
|
$this->assertEquals(['type' => 'controller', 'controller' => 'index/hello', 'var' => []], Route::check($request, 'say/thinkphp'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testRouteToMethod()
|
public function testRouteToMethod()
|
||||||
@@ -235,8 +235,8 @@ class routeTest extends \PHPUnit_Framework_TestCase
|
|||||||
$request = Request::instance();
|
$request = Request::instance();
|
||||||
Route::get('user/:name', '\app\index\service\User::get', [], ['name' => '\w+']);
|
Route::get('user/:name', '\app\index\service\User::get', [], ['name' => '\w+']);
|
||||||
Route::get('info/:name', '\app\index\model\Info@getInfo', [], ['name' => '\w+']);
|
Route::get('info/:name', '\app\index\model\Info@getInfo', [], ['name' => '\w+']);
|
||||||
$this->assertEquals(['type' => 'method', 'method' => '\app\index\service\User::get'], Route::check($request, 'user/thinkphp'));
|
$this->assertEquals(['type' => 'method', 'method' => '\app\index\service\User::get', 'var' => []], Route::check($request, 'user/thinkphp'));
|
||||||
$this->assertEquals(['type' => 'method', 'method' => ['\app\index\model\Info', 'getInfo']], Route::check($request, 'info/thinkphp'));
|
$this->assertEquals(['type' => 'method', 'method' => ['\app\index\model\Info', 'getInfo'], 'var' => []], Route::check($request, 'info/thinkphp'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testRouteToRedirect()
|
public function testRouteToRedirect()
|
||||||
|
|||||||
Reference in New Issue
Block a user