/** * @hack */ protected function createComponent($name) { $ucName = ucfirst($name); $method = 'createComponent' . $ucName; if (method_exists($this, $method)) { if ($this->createComponentMode === self::CCMODE_SILENT) { try { $this->checkRequirements($this->getReflection()->getMethod($method)); } catch (Nette\Application\ForbiddenRequestException $ex) { return $this->emptyControlFactory->create(); } } else { $this->checkRequirements($this->getReflection()->getMethod($method)); } } return parent::createComponent($name); }
/** * @param $name * @return Nette\ComponentModel\IComponent */ protected function createComponent($name) { if (strrpos($name, 'Linker') === strlen($name) - 6) { $extension = strtolower(str_replace('Linker', '', $name)); if ($this->isLinkerRegistered($extension)) { return $this->linkerFactories[$extension]->create(); } } return parent::createComponent($name); }