HTTP/2 302
date: Fri, 26 Dec 2025 16:21:35 GMT
content-type: text/html; charset=utf-8
content-length: 0
location: https://designpatternsphp.readthedocs.io/en/latest/
server: cloudflare
cf-ray: 9b41e97b1f78f313-BLR
cf-cache-status: HIT
cache-control: max-age=1200
content-language: zh-cn
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept-Language, Accept-Encoding
cdn-cache-control: public
cross-origin-opener-policy: same-origin
referrer-policy: no-referrer-when-downgrade
x-backend: web-i-07b958eb58b905e11
x-content-type-options: nosniff
x-rtd-domain: designpatternsphp.readthedocs.io
x-rtd-force-addons: true
x-rtd-project: designpatternsphp
x-rtd-project-method: public_domain
x-rtd-redirect: system
x-rtd-version-method: path
x-served: Django-Proxito
set-cookie: __cf_bm=8Z_nAF.zAbdp0di1t0D7N8v03v8j7IYOtkRoDZYX_Zo-1766766095-1.0.1.1-0HvpfTxxyFo6W9zJMSjsxaENWTJvGmmXZ32C36z78wswPQZHXLREJGoOUZmrfsf2Z0kznGn7U5lQz2AT8.CIuXRoXByilEi45Kq8X_Mghs0; path=/; expires=Fri, 26-Dec-25 16:51:35 GMT; domain=.readthedocs.io; HttpOnly; Secure; SameSite=None
set-cookie: _cfuvid=FSdRduCvtLSJbGYtIFUsw7jBnPsthd3TtUz9ezaN8c8-1766766095435-0.0.1.1-604800000; path=/; domain=.readthedocs.io; HttpOnly; Secure; SameSite=None
alt-svc: h3=":443"; ma=86400
HTTP/2 200
date: Fri, 26 Dec 2025 16:21:36 GMT
content-type: text/html; charset=utf-8
server: cloudflare
cf-ray: 9b41e9807fcff313-BLR
cf-cache-status: HIT
access-control-allow-origin: *
cache-control: max-age=1200
content-encoding: gzip
etag: W/"05ca8bb689d332b080db82ea8a1bc40b"
last-modified: Sat, 30 Sep 2023 20:08:25 GMT
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept-Encoding
access-control-allow-methods: HEAD, OPTIONS, GET
cdn-cache-control: public
cross-origin-opener-policy: same-origin
referrer-policy: no-referrer-when-downgrade
x-amz-id-2: 8azGOEOxqiibtG+KyZOeawMbx9qxkqIq8l6VZwd8m3RhvNiHX2IrgTtu7/8tJNcQskRKTxTOVTA=
x-amz-meta-mtime: 1696104473.145528818
x-amz-request-id: MCTBF8ADD34PPZK0
x-amz-server-side-encryption: AES256
x-backend: web-i-06cf9ee8577e68ea8
x-content-type-options: nosniff
x-rtd-domain: designpatternsphp.readthedocs.io
x-rtd-force-addons: true
x-rtd-path: /proxito/html/designpatternsphp/latest/index.html
x-rtd-project: designpatternsphp
x-rtd-project-method: public_domain
x-rtd-resolver-filename: /
x-rtd-version: latest
x-rtd-version-method: path
x-served: Nginx-Proxito-Sendfile
set-cookie: __cf_bm=1XJsrTkVzwmcsiEYB6Jk5McC2zJfM1gPdRNbSfhrBy8-1766766096-1.0.1.1-JfY_ZMnMJOKk6xnitk2GpKcundEbbaqY.gv4CZE7T99e5iSxllxgkAmB6xlxH..T9UVHp4xxZpGoeF.Hdd3rvdXjJtjLJpBj3YsnIRNnagw; path=/; expires=Fri, 26-Dec-25 16:51:36 GMT; domain=.readthedocs.io; HttpOnly; Secure; SameSite=None
set-cookie: _cfuvid=l3Q14.TpjJgBQtgcqEgL.I6cdRDlfWIKfL1gAFwDv.k-1766766096291-0.0.1.1-604800000; path=/; domain=.readthedocs.io; HttpOnly; Secure; SameSite=None
alt-svc: h3=":443"; ma=86400
DesignPatternsPHP — DesignPatternsPHP 1.0 documentation
DesignPatternsPHP
DesignPatternsPHP
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.
I think the problem with patterns is that often people do know them but
don’t know when to apply which.
Patterns
The patterns can be structured in roughly three different categories.
Please click on the title of every pattern’s page for a full explanation of the pattern on Wikipedia.