9.1. Problem and Solution
As PHP continues to grow and evolve as a language, its features continue to provide easier avenues for development, using proven Design Patterns. One feature of PHP that has been particularly helpful is the ability to create new instances of classes based on the content of a variable. This dynamic approach to object instantiation is one of the building blocks of my approach to the Factory Design Pattern in PHP.
Classes based on the Factory Design Pattern help reduce conditionally based complexity in the main code stream. Throughout applications, objects are called in many different ways. Changing just one thing about an object's creation can cause ripples through the rest of the application. Think of instantiating one of five objects to perform some sort of functionality. One method would be to create a conditional to determine which object to instantiate. This might be a complex if/else statement or a switch/case statement. This functionality can be used in many places in the application but can cause code duplication. Then, add a sixth object to the mix or change the name of one of the existing five, and all instances of this code need to be modified and tested again. The Factory Design Pattern helps eliminate this headache by providing a simple interface to create any of these objects. The way the Factory object is called stays the same no matter if objects are changed or other objects are added.
A practical example of this can be observed when showing ...
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.
Read now
Unlock full access