public function testQuery() { $request = new Request(['server' => ['REQUEST_URI' => '/vero/asdasd/asdasd?asd=asd']]); $this->assertEquals($request->getQuery('/vero/'), 'asdasd/asdasd'); $request = new Request(['server' => ['REQUEST_URI' => '/vero/index.php/asdasd/asdasd?asd=asd']]); $this->assertEquals($request->getQuery('/vero/', 'index.php/'), 'asdasd/asdasd'); $request = new Request(['server' => ['REQUEST_URI' => '/vero/index.php/']]); $this->assertEquals($request->getQuery('/vero/', 'index.php/'), ''); $request = new Request(['server' => ['REQUEST_URI' => '/vero/']]); $this->assertEquals($request->getQuery('/vero/', 'index.php/'), ''); }
/** * Find class name for request. * * If Web Controller needs to do something more with request, * this is first method to override. * * @api * @return string|null */ protected function findAction(Request $request) { $router = $this->container->get('router'); $query = $request->getQuery($router->getBase(), $router->getPrefix()); list($id, $class, $params) = $router->match($query, $request->method()); $request->setParams($this->getRequestParams($request, $query, $id, (array) $params)); return $class; }