示例#1
0
 /**
  * {@inheritdoc}
  */
 public function render(GridViewInterface $grid, ColumnInterface $column, $data)
 {
     $types = $this->resolveTypes($column->getType());
     if (!isset($this->cache[$hash = spl_object_hash($grid) . ':' . spl_object_hash($column)])) {
         $resolver = new OptionsResolver();
         foreach ($types as $type) {
             $type->configureOptions($resolver);
         }
         $this->cache[$hash] = $resolver->resolve(array_merge(['column' => $column, 'grid' => $grid], $column->getOptions()));
     }
     return reset($types)->render($data, $this->cache[$hash]);
 }