protected function executeAction($actionName, $registerView = true, $resetViews = false) { $this->checkActionExists($actionName); if ($resetViews) { $this->response->resetViews(); } if ($registerView) { $this->response->registerView($this->response->getViewClassName($this->controllerName, $actionName)); } $callParameters = array(); $requiredParameters = $this->reflectionMethods[$actionName]->getParameters(); foreach ($requiredParameters as $parameter) { if ($parameter->isDefaultValueAvailable()) { $callParameters[] = $this->request->get($parameter->getName(), $parameter->getDefaultValue()); } else { $pname = $parameter->getName(); $pmessage = 'Undefined parameter: $<$o' . $pname . '$>'; $callParameters[] = $this->request->getStrict($pname, $pmessage); } } $this->actionName = $actionName; call_user_func_array(array($this, $actionName), $callParameters); }