Exemplo n.º 1
0
 /**
  * @param string|BlockTypeInterface $blockType
  *
  * @return OptionsResolverInterface
  */
 protected function getOptionResolver($blockType)
 {
     if ($blockType instanceof BlockTypeInterface) {
         $name = $blockType->getName();
         $type = $blockType;
     } else {
         $name = $blockType;
         $type = null;
     }
     if (!isset($this->resolvers[$name])) {
         if (!$type) {
             $type = $this->registry->getType($name);
         }
         $parentName = $type->getParent();
         $optionsResolver = $parentName ? clone $this->getOptionResolver($parentName) : new OptionsResolver();
         $type->setDefaultOptions($optionsResolver);
         $this->registry->setDefaultOptions($name, $optionsResolver);
         $this->resolvers[$name] = $optionsResolver;
     }
     return $this->resolvers[$name];
 }
Exemplo n.º 2
0
 /**
  * {@inheritdoc}
  */
 public function addType(BlockTypeInterface $type)
 {
     $this->types[$type->getName()] = $type;
     return $this;
 }