/** * @param RouteInfo $routeInfo * @param Request $request * @return Responder * @throws \Exception */ private function handleUsingAction(Request $request, RouteInfo $routeInfo) { $actionClass = $routeInfo->getAction(); if (!$actionClass) { throw new \Exception(); } $reflectionClass = new \ReflectionClass($actionClass); if (!$reflectionClass->isInstantiable()) { throw new \Exception(); } $action = new $actionClass(); if (!$action instanceof Action) { throw new \Exception(); } $this->triggerPreActionEvent($routeInfo); $response = $action->execute($request, $routeInfo); $this->triggerPostActionEvent($routeInfo); return $response; }
public function testSetAction() { $route_info = new RouteInfo(); $route_info->setAction('dummy'); $this->assertEquals('dummy', $route_info->getAction()); }