mirror of
https://github.com/DesignPatternsPHP/DesignPatternsPHP.git
synced 2025-02-24 09:42:24 +01:00
Previous example was simply implementing a strategy pattern. A key problem is that WebService made clear that it did no actual output of its own - it handed it off to 'decorators'. A decorator should always wrap a class that already has its own complete, self-contained functionality. In this way, they only enhance / modify it. An instance that is non-decorated should work fully by itself. Note the distinguishing difference between this and sub-classing - here the enhancement is added dynamically, at runtime, and to one instance. With sub-classing, the enhancement is added at compile / parse time, and is applied to all instances / uses of the subclass.
design patterns in PHP
This is a collection of known design patterns and some sample code how to implement them in PHP. Every pattern has a small list of examples (most of them from Zend Framework or Doctrine2 as I'm most familiar with this software).
I think the problem with patterns is that often people do know them but don't know when to apply which.
Please feel free to fork and add your own examples!
Languages
PHP
85.3%
Python
8%
Makefile
6.2%
Dockerfile
0.5%