To dynamically add new functionality to class instances.
- Zend Framework: decorators for
Zend_Form_Element
instances - Web Service Layer: Decorators JSON and XML for a REST service (in this case, only one of these should be allowed of course)
You can also find these code on GitHub
RenderableInterface.php
.. literalinclude:: RenderableInterface.php :language: php :linenos:
Webservice.php
.. literalinclude:: Webservice.php :language: php :linenos:
RendererDecorator.php
.. literalinclude:: RendererDecorator.php :language: php :linenos:
XmlRenderer.php
.. literalinclude:: XmlRenderer.php :language: php :linenos:
JsonRenderer.php
.. literalinclude:: JsonRenderer.php :language: php :linenos:
Tests/DecoratorTest.php
.. literalinclude:: Tests/DecoratorTest.php :language: php :linenos: