sample code for several design patterns in PHP 8
MIT License
21186
1216
4515

DesignPatternsPHP

Build Status Donate

Read the Docs of DesignPatternsPHP or Download as PDF/Epub

This is a collection of known design patterns and some sample codes on how to implement them in PHP. Every pattern has a small list of examples.

I think the problem with patterns is that often people do know them but don't know when to apply which.

Installation

You should look at and run the tests to see what happens in the example. To do this, you should install dependencies with Composer first:

$ composer install

Read more about how to install and use Composer on your local machine here.

To run the tests use phpunit:

$ ./vendor/bin/phpunit

Using Docker (optional)

You can optionally build and browse the documentation using Docker for Mac, Windows or Linux.

Just run:

$ docker-compose up --build

Go to http://localhost:8080/ to read the generated documentation.

If you want to localize your documentation you can pass the locale as an argument to the docker build:

$ docker-compose build --build-arg language=de
$ docker-compose up

Patterns

The patterns can be structured in roughly three different categories. Please click on the 📓 for a full explanation of the pattern on Wikipedia.

Creational

Structural

Behavioral

More

Localization & Supported Languages

Code Language Documentation
ca Catalan Docs 📓
zh_CN Chinese Docs 📓
nl Dutch Docs 📓
en English Docs 📓
de German Docs 📓
ja Japanese Docs 📓
pl Polish Docs 📓
pt_BR Portuguese-Brazil Docs 📓
ru Russian Docs 📓
es Spanish Docs 📓
es_MX Spanish-Mexican Docs 📓
tr Turkish Docs 📓
bg Bulgarian Docs 📓
fr French Docs 📓
it Italian Docs 📓

Contributors

domnikl
piotrgradzinski
PabloGarciaComBR
guokan-shang
ns-roxer
tonicospinelli
leonampd
bocharsky-bw
axelitus
jtwebb
autoload
tanden
a1812
localheinz
eddiejaoude
Hyunk3l
Trismegiste
aspirantzhang
jdhmtl
didacusAbella
rafaelstz
atakde
korzol
sbine
ftwbzhao
KIVagant
guilhermesiani
kbariotis
u-mulder
desarrolla2
honzabrecka
maximkou
x25
lex111
brettsantore
dave1010
eloipoch
filisko
okerem
carousel
nmarulo
peterdevpl
sjokkateer
RomanovSci
pjurasek
atans
ahmetelcik
andrewnester
ArviZ
krizalys
lix-dev
garrus
HassanAlthaf
FatBoyXPC
r4j4h
salimoscon343
lesterlpena
MathiasReker
mayurvandra
CoeusCC
RedDevilus
swappio
jenbuzz
dependabot[bot]
SephVelut
janukobytsch
manueldose
tafax
yplam
Ulbrec87
raro28
adamquaile
alexandrunastase
AlexBaitov
alexander-schranz
inglobal
AliN11
blackcat1383
anestor-sugar
AnewG
mintobit
atlance
ostretsov
gbecchio
Bilge
carlwhittick
chey
b3nkos
Danielss89
danielesreis
darcymiranda
aeoris
diogocavilha
ovr
dominikb
eugenedan
gabrielbull
carusogabriel
garoevans
geidsonc