PSR-0 with tests

This commit is contained in:
Trismegiste 2013-05-11 01:17:22 +02:00
parent 5f457c2701
commit 6443fecebc
5 changed files with 56 additions and 27 deletions

View File

@ -1,6 +1,6 @@
<?php
namespace DesignPatterns;
namespace DesignPatterns\Composite;
/**
* composite pattern
@ -41,29 +41,3 @@ class Form
$this->_elements[] = $element;
}
}
abstract class FormElement
{
abstract public function render();
}
class TextElement extends FormElement
{
public function render()
{
return 'this is a text element';
}
}
class InputElement extends FormElement
{
public function render()
{
return '<input type="text" />';
}
}
$form = new Form();
$form->addElement(new TextElement());
$form->addElement(new InputElement());
echo $form->render();

View File

@ -0,0 +1,8 @@
<?php
namespace DesignPatterns\Composite;
abstract class FormElement
{
abstract public function render();
}

View File

@ -0,0 +1,11 @@
<?php
namespace DesignPatterns\Composite;
class InputElement extends FormElement
{
public function render()
{
return '<input type="text" />';
}
}

11
Composite/TextElement.php Normal file
View File

@ -0,0 +1,11 @@
<?php
namespace DesignPatterns\Composite;
class TextElement extends FormElement
{
public function render()
{
return 'this is a text element';
}
}

View File

@ -0,0 +1,25 @@
<?php
/*
* DesignPatternPHP
*/
namespace DesignPatterns\Test\Composite;
use DesignPatterns\Composite;
/**
* FormTest tests the composite pattern on Form
*/
class FormTest extends \PHPUnit_Framework_TestCase
{
public function testRender()
{
$form = new Composite\Form();
$form->addElement(new Composite\TextElement());
$form->addElement(new Composite\InputElement());
echo $form->render();
}
}