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 = ''; $formCode = '';
foreach ($this->_elements as $element) { foreach ($this->_elements as $element) {
$formCode .= $element->render(); $formCode .= $element->render($indent + 1) . PHP_EOL;
} }
return $formCode; return $formCode;

View File

@@ -6,6 +6,6 @@ class InputElement extends FormElement
{ {
public function render($indent = 0) 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) 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 = new Composite\Form();
$form->addElement(new Composite\TextElement()); $form->addElement(new Composite\TextElement());
$form->addElement(new Composite\InputElement()); $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(); echo $form->render();
} }