mirror of
https://github.com/DesignPatternsPHP/DesignPatternsPHP.git
synced 2025-08-03 05:27:29 +02:00
improving the render to show the tree with indentations
This commit is contained in:
@@ -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;
|
||||||
|
@@ -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" />';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user