/** * Creates new presenter instance. * @param string presenter name * @return IPresenter */ public function createPresenter($name) { $presenter = $this->container->createInstance($this->getPresenterClass($name)); if (method_exists($presenter, 'setContext')) { $this->container->callMethod(array($presenter, 'setContext')); } foreach (array_reverse(get_class_methods($presenter)) as $method) { if (substr($method, 0, 6) === 'inject') { $this->container->callMethod(array($presenter, $method)); } } if ($presenter instanceof NPresenter && $presenter->invalidLinkMode === NULL) { $presenter->invalidLinkMode = $this->container->parameters['debugMode'] ? NPresenter::INVALID_LINK_WARNING : NPresenter::INVALID_LINK_SILENT; } return $presenter; }