public function testParse() { $param = new Param('/Articles'); $request = new RequestAggregate([$param]); $this->assertEquals(true, Router::has($request->getParam('url'))); $this->assertEquals('Articles', Router::parse($request)->data('controller')); $this->assertEquals('index', Router::parse($request)->data('action')); $this->assertEquals([], Router::parse($request)->data('arguments')); }
/** * リクエストデータから適切なコントローラを生成し、適切なメソッドを実行する. * * @param \TRW\Request\RequestAggreagete * @return mixid 結果を出力する */ public function dispatch($request) { if (empty($request->getParam('controller'))) { $defaultParam = Router::parse($request); $request->setRequest($defaultParam); } if (Router::has($request->getParam('url'))) { $mapedParam = Router::parse($request); $request->setRequest($mapedParam); } $controllerInstance = $this->getController($request); $this->invoke($controllerInstance, $request); echo $this->render($controllerInstance, $request); }