To dynamically add new functionality to class 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 this code on GitHub
Booking.php
.. literalinclude:: Booking.php :language: php :linenos:
BookingDecorator.php
.. literalinclude:: BookingDecorator.php :language: php :linenos:
DoubleRoomBooking.php
.. literalinclude:: DoubleRoomBooking.php :language: php :linenos:
ExtraBed.php
.. literalinclude:: ExtraBed.php :language: php :linenos:
WiFi.php
.. literalinclude:: WiFi.php :language: php :linenos:
Tests/DecoratorTest.php
.. literalinclude:: Tests/DecoratorTest.php :language: php :linenos: