/**
  * @param OptionsResolverInterface $optionsResolver
  * @param BlockInterface           $block
  */
 protected function setDefaultSettings(OptionsResolverInterface $optionsResolver, BlockInterface $block)
 {
     // defaults for all blocks
     $optionsResolver->setDefaults(array('use_cache' => true, 'extra_cache_keys' => array(), 'attr' => array(), 'template' => false, 'ttl' => (int) $block->getTtl()));
     $optionsResolver->addAllowedTypes(array('use_cache' => array('bool'), 'extra_cache_keys' => array('array'), 'attr' => array('array'), 'ttl' => array('int'), 'template' => array('string', 'bool')));
     // add type and class settings for block
     $class = ClassUtils::getClass($block);
     $settingsByType = isset($this->settingsByType[$block->getType()]) ? $this->settingsByType[$block->getType()] : array();
     $settingsByClass = isset($this->settingsByClass[$class]) ? $this->settingsByClass[$class] : array();
     $optionsResolver->setDefaults(array_merge($settingsByType, $settingsByClass));
 }
 protected function configureSettings(OptionsResolver $optionsResolver, BlockInterface $block)
 {
     // defaults for all blocks
     $optionsResolver->setDefaults(array('use_cache' => true, 'extra_cache_keys' => array(), 'attr' => array(), 'template' => false, 'ttl' => (int) $block->getTtl()));
     // TODO: Remove it when bumping requirements to SF 2.6+
     if (method_exists($optionsResolver, 'setDefined')) {
         $optionsResolver->addAllowedTypes('use_cache', 'bool')->addAllowedTypes('extra_cache_keys', 'array')->addAllowedTypes('attr', 'array')->addAllowedTypes('ttl', 'int')->addAllowedTypes('template', array('string', 'bool'));
     } else {
         $optionsResolver->addAllowedTypes(array('use_cache' => array('bool'), 'extra_cache_keys' => array('array'), 'attr' => array('array'), 'ttl' => array('int'), 'template' => array('string', 'bool')));
     }
     // add type and class settings for block
     $class = ClassUtils::getClass($block);
     $settingsByType = isset($this->settingsByType[$block->getType()]) ? $this->settingsByType[$block->getType()] : array();
     $settingsByClass = isset($this->settingsByClass[$class]) ? $this->settingsByClass[$class] : array();
     $optionsResolver->setDefaults(array_merge($settingsByType, $settingsByClass));
 }