diff --git a/src/Symfony/Bundle/FrameworkBundle/HttpKernel.php b/src/Symfony/Bundle/FrameworkBundle/HttpKernel.php index 315ec25165fe1..fe738eec991e4 100644 --- a/src/Symfony/Bundle/FrameworkBundle/HttpKernel.php +++ b/src/Symfony/Bundle/FrameworkBundle/HttpKernel.php @@ -153,12 +153,12 @@ public function render($controller, array $options = array()) // controller or URI or path? if (0 === strpos($controller, 'http://') || 0 === strpos($controller, 'https://')) { - $subRequest = call_user_func(array(get_class($request), 'create'), $controller, 'get', array(), $request->cookies->all(), array(), $request->server->all()); + $subRequest = $request::create($controller, 'get', array(), $request->cookies->all(), array(), $request->server->all()); if ($session = $request->getSession()) { $subRequest->setSession($session); } } elseif (0 === strpos($controller, '/')) { - $subRequest = call_user_func(array(get_class($request), 'create'), $request->getUriForPath($controller), 'get', array(), $request->cookies->all(), array(), $request->server->all()); + $subRequest = $request::create($request->getUriForPath($controller), 'get', array(), $request->cookies->all(), array(), $request->server->all()); if ($session = $request->getSession()) { $subRequest->setSession($session); } diff --git a/src/Symfony/Component/HttpKernel/HttpCache/Store.php b/src/Symfony/Component/HttpKernel/HttpCache/Store.php index 164d2a55c1f6d..f7d4e2f1c36f3 100644 --- a/src/Symfony/Component/HttpKernel/HttpCache/Store.php +++ b/src/Symfony/Component/HttpKernel/HttpCache/Store.php @@ -235,7 +235,7 @@ public function invalidate(Request $request) // As per the RFC, invalidate Location and Content-Location URLs if present foreach (array('Location', 'Content-Location') as $header) { if ($uri = $request->headers->get($header)) { - $subRequest = call_user_func(array(get_class($request), 'create'), 'get', array(), array(), array(), $request->server->all()); + $subRequest = $request::create($uri, 'get', array(), array(), array(), $request->server->all()); $this->invalidate($subRequest); } diff --git a/src/Symfony/Component/Security/Http/HttpUtils.php b/src/Symfony/Component/Security/Http/HttpUtils.php index ce03d1d5d1728..7e6679eea74f1 100644 --- a/src/Symfony/Component/Security/Http/HttpUtils.php +++ b/src/Symfony/Component/Security/Http/HttpUtils.php @@ -70,7 +70,7 @@ public function createRedirectResponse(Request $request, $path, $status = 302) */ public function createRequest(Request $request, $path) { - $newRequest = call_user_func(array(get_class($request), 'create'), $this->generateUri($request, $path), 'get', array(), $request->cookies->all(), array(), $request->server->all()); + $newRequest = $request::create($this->generateUri($request, $path), 'get', array(), $request->cookies->all(), array(), $request->server->all()); if ($session = $request->getSession()) { $newRequest->setSession($session); }