[Form] Added ArrayAccess to DefaultRenderer
This commit is contained in:
parent
0f8cd43ac4
commit
bfbc1121ce
@ -15,7 +15,7 @@ use Symfony\Component\Form\FieldInterface;
|
||||
use Symfony\Component\Form\Renderer\Theme\ThemeInterface;
|
||||
use Symfony\Component\Form\Renderer\Plugin\PluginInterface;
|
||||
|
||||
class DefaultRenderer implements RendererInterface
|
||||
class DefaultRenderer implements RendererInterface, \ArrayAccess
|
||||
{
|
||||
private $field;
|
||||
|
||||
@ -31,6 +31,8 @@ class DefaultRenderer implements RendererInterface
|
||||
|
||||
private $rendered = false;
|
||||
|
||||
private $children = array();
|
||||
|
||||
public function __construct(ThemeInterface $theme, $template)
|
||||
{
|
||||
$this->theme = $theme;
|
||||
@ -65,6 +67,11 @@ class DefaultRenderer implements RendererInterface
|
||||
}
|
||||
}
|
||||
|
||||
public function setChildren(array $renderers)
|
||||
{
|
||||
$this->children = $renderers;
|
||||
}
|
||||
|
||||
public function setTheme(ThemeInterface $theme)
|
||||
{
|
||||
$this->theme = $theme;
|
||||
@ -159,4 +166,24 @@ class DefaultRenderer implements RendererInterface
|
||||
$vars
|
||||
));
|
||||
}
|
||||
|
||||
public function offsetGet($name)
|
||||
{
|
||||
return $this->children[$name];
|
||||
}
|
||||
|
||||
public function offsetExists($name)
|
||||
{
|
||||
return isset($this->children[$name]);
|
||||
}
|
||||
|
||||
public function offsetSet($name, $value)
|
||||
{
|
||||
throw new \BadMethodCallException('Not supported');
|
||||
}
|
||||
|
||||
public function offsetUnset($name)
|
||||
{
|
||||
throw new \BadMethodCallException('Not supported');
|
||||
}
|
||||
}
|
@ -13,6 +13,8 @@ namespace Symfony\Component\Form\Renderer;
|
||||
|
||||
interface RendererInterface
|
||||
{
|
||||
function setChildren(array $renderers);
|
||||
|
||||
function setVar($name, $value);
|
||||
|
||||
function getVar($name);
|
||||
|
Reference in New Issue
Block a user