improving the render to show the tree with indentations

This commit is contained in:
Trismegiste
2013-05-11 01:36:57 +02:00
parent 007a2d6171
commit e70395c0a3
4 changed files with 8 additions and 3 deletions

View File

@@ -32,7 +32,7 @@ class Form extends FormElement
{
$formCode = '';
foreach ($this->_elements as $element) {
$formCode .= $element->render();
$formCode .= $element->render($indent + 1) . PHP_EOL;
}
return $formCode;

View File

@@ -6,6 +6,6 @@ class InputElement extends FormElement
{
public function render($indent = 0)
{
return '<input type="text" />';
return str_repeat(' ', $indent) . '<input type="text" />';
}
}

View File

@@ -6,6 +6,6 @@ class TextElement extends FormElement
{
public function render($indent = 0)
{
return 'this is a text element';
return str_repeat(' ', $indent) . 'this is a text element';
}
}

View File

@@ -19,6 +19,11 @@ class FormTest extends \PHPUnit_Framework_TestCase
$form = new Composite\Form();
$form->addElement(new Composite\TextElement());
$form->addElement(new Composite\InputElement());
$embed = new Composite\Form();
$embed->addElement(new Composite\TextElement());
$embed->addElement(new Composite\InputElement());
$form->addElement($embed); // here we have a tree !
echo $form->render();
}