[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\Theme\ThemeInterface;
|
||||||
use Symfony\Component\Form\Renderer\Plugin\PluginInterface;
|
use Symfony\Component\Form\Renderer\Plugin\PluginInterface;
|
||||||
|
|
||||||
class DefaultRenderer implements RendererInterface
|
class DefaultRenderer implements RendererInterface, \ArrayAccess
|
||||||
{
|
{
|
||||||
private $field;
|
private $field;
|
||||||
|
|
||||||
@ -31,6 +31,8 @@ class DefaultRenderer implements RendererInterface
|
|||||||
|
|
||||||
private $rendered = false;
|
private $rendered = false;
|
||||||
|
|
||||||
|
private $children = array();
|
||||||
|
|
||||||
public function __construct(ThemeInterface $theme, $template)
|
public function __construct(ThemeInterface $theme, $template)
|
||||||
{
|
{
|
||||||
$this->theme = $theme;
|
$this->theme = $theme;
|
||||||
@ -65,6 +67,11 @@ class DefaultRenderer implements RendererInterface
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setChildren(array $renderers)
|
||||||
|
{
|
||||||
|
$this->children = $renderers;
|
||||||
|
}
|
||||||
|
|
||||||
public function setTheme(ThemeInterface $theme)
|
public function setTheme(ThemeInterface $theme)
|
||||||
{
|
{
|
||||||
$this->theme = $theme;
|
$this->theme = $theme;
|
||||||
@ -159,4 +166,24 @@ class DefaultRenderer implements RendererInterface
|
|||||||
$vars
|
$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
|
interface RendererInterface
|
||||||
{
|
{
|
||||||
|
function setChildren(array $renderers);
|
||||||
|
|
||||||
function setVar($name, $value);
|
function setVar($name, $value);
|
||||||
|
|
||||||
function getVar($name);
|
function getVar($name);
|
||||||
|
Reference in New Issue
Block a user