From c0048e80ea5185be74bdea78f85b489ec57f2815 Mon Sep 17 00:00:00 2001 From: thinkphp Date: Wed, 18 May 2016 00:02:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=8D=95=E5=85=83=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/App.php | 10 +++++----- tests/thinkphp/library/think/appTest.php | 6 ++---- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/library/think/App.php b/library/think/App.php index ab069172..6f70640d 100644 --- a/library/think/App.php +++ b/library/think/App.php @@ -321,9 +321,9 @@ class App throw new Exception('url suffix deny'); } - $_SERVER['PATH_INFO'] = $request->path(); - $depr = $config['pathinfo_depr']; - $result = false; + $path = $request->path(); + $depr = $config['pathinfo_depr']; + $result = false; // 路由检测 if (APP_ROUTE_ON && !empty($config['url_route_on'])) { // 开启路由 @@ -332,7 +332,7 @@ class App Route::import($config['route']); } // 路由检测(根据路由定义返回不同的URL调度) - $result = Route::check($request, $_SERVER['PATH_INFO'], $depr, !IS_CLI ? $config['url_domain_deploy'] : false); + $result = Route::check($request, $path, $depr, !IS_CLI ? $config['url_domain_deploy'] : false); if (APP_ROUTE_MUST && false === $result && $config['url_route_must']) { // 路由无效 throw new Exception('route not define '); @@ -340,7 +340,7 @@ class App } if (false === $result) { // 路由无效默认分析为模块/控制器/操作/参数...方式URL - $result = Route::parseUrl($_SERVER['PATH_INFO'], $depr); + $result = Route::parseUrl($path, $depr); } //保证$_REQUEST正常取值 $_REQUEST = array_merge($_POST, $_GET, $_COOKIE); diff --git a/tests/thinkphp/library/think/appTest.php b/tests/thinkphp/library/think/appTest.php index 97640ab9..d959ff83 100644 --- a/tests/thinkphp/library/think/appTest.php +++ b/tests/thinkphp/library/think/appTest.php @@ -87,12 +87,10 @@ class appTest extends \PHPUnit_Framework_TestCase // 类method调度 public function testInvokeMethod() { - $_GET = ['thinkphp']; - $result = App::invokeMethod(['tests\thinkphp\library\think\AppInvokeMethodTestClass', 'run']); + $result = App::invokeMethod(['tests\thinkphp\library\think\AppInvokeMethodTestClass', 'run'], ['thinkphp']); $this->assertEquals('thinkphp', $result); - $_GET = ['thinkphp']; - $result = App::invokeMethod('tests\thinkphp\library\think\AppInvokeMethodTestClass::staticRun'); + $result = App::invokeMethod('tests\thinkphp\library\think\AppInvokeMethodTestClass::staticRun', ['thinkphp']); $this->assertEquals('thinkphp', $result); } }