ApiGen\Templating\TemplateFactory::createNamedForElement PHP Метод

createNamedForElement() публичный метод

public createNamedForElement ( string $name, ReflectionElement | string $element ) : ApiGen\Templating\Template
$name string
$element ReflectionElement | string
Результат ApiGen\Templating\Template
    public function createNamedForElement($name, $element)
    {
        $template = $this->buildTemplate();
        $template->setFile($this->templateNavigator->getTemplatePath($name));
        if ($name === self::ELEMENT_SOURCE) {
            $template->setSavePath($this->templateNavigator->getTemplatePathForSourceElement($element));
        } elseif ($name === self::ELEMENT_NAMESPACE) {
            $template->setSavePath($this->templateNavigator->getTemplatePathForNamespace($element));
        } elseif ($name === self::ELEMENT_PACKAGE) {
            $template->setSavePath($this->templateNavigator->getTemplatePathForPackage($element));
        } elseif ($name === self::ELEMENT_ANNOTATION_GROUP) {
            $template->setSavePath($this->templateNavigator->getTemplatePathForAnnotationGroup($element));
        } else {
            throw new UnsupportedElementException($name . ' is not supported template type.');
        }
        return $template;
    }

Usage Example

Пример #1
0
 /**
  * {@inheritdoc}
  */
 public function generate()
 {
     foreach ($this->elementStorage->getNamespaces() as $name => $namespace) {
         $template = $this->templateFactory->createNamedForElement(TemplateFactory::ELEMENT_NAMESPACE, $name);
         $template = $this->namespaceAndPackageLoader->loadTemplateWithNamespace($template, $name, $namespace);
         $template->save();
         $this->eventDispatcher->dispatch(new GenerateProgressEvent(GeneratorEvents::ON_GENERATE_PROGRESS));
     }
 }
All Usage Examples Of ApiGen\Templating\TemplateFactory::createNamedForElement