Skip to Content
Learning PHP Design Patterns
book

Learning PHP Design Patterns

by William Sanders
February 2013
Intermediate to advanced content levelIntermediate to advanced
362 pages
8h 16m
English
O'Reilly Media, Inc.
Content preview from Learning PHP Design Patterns

Part II. Creational Design Patterns

Imagination is the beginning of creation. You imagine what you desire, you will what you imagine and at last you create what you will.

George Bernard Shaw

Without culture, and the relative freedom it implies, society, even when perfect, is but a jungle. This is why any authentic creation is a gift to the future.

Albert Camus

If the Lord Almighty had consulted me before embarking on creation thus, I should have recommended something simpler.

Alfonso the Wise

Creational design patterns are those that focus on the instantiation process. These patterns are designed to conceal the creation process from the instances created and encapsulate knowledge used by the objects. The five creational design patterns listed by Gamma, Helm, Johnson, and Vlissides include:

  • Abstract Factory

  • Builder

  • Factory Method

  • Prototype

  • Singleton

Of these five, the Factory Method and Prototype have been selected as examples of creational designs implemented in PHP. The Factory Method is the only one of the five that is included in the class scope category of design patterns, and it is a relatively simple yet informative pattern. The Prototype pattern is in the object category, and it can be implemented using the PHP __clone() method. Objects are instantiated (created) on the basis of prototype, and then further objects are cloned from the instantiated object. I think you will find this pattern easy to use and quite handy.

Of the uses of creational patterns, the most interesting is that ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Mastering PHP Design Patterns

Mastering PHP Design Patterns

Junade Ali
Domain-Driven Design in PHP

Domain-Driven Design in PHP

Keyvan Akbary, Carlos Buenosvinos, Christian Soronellas

Publisher Resources

ISBN: 9781449344900Supplemental ContentErrata PagePurchase book