Advanced

Design Patterns in PHP

A design pattern is a common solution to a common problem. Nothing more, nothing less. And, while some of these approaches might seem foreign or overwhelming to you, the important thing to remember is that, as a developer, you are in charge. That means you decide when a pattern is appropriate, and when it's completely unnecessary. That's the key.

Start Series For Free

Share this series on:

  • 01

    Episode 1 Run Time 10:32

    The Decorator Pattern Free

    A decorator allows us to dynamically extend the behavior of a particular object at runtime, without needing to resort to unnecessary inheritance. Let me give you a demonstration.

  • 02

    Episode 2 Run Time 11:08

    Gettin' Jiggy With Adapters

    An adapter is one of the easier design patterns to learn. The reason why is because you use them in the real world all the time! In this lesson, let's review a handful of examples to figure out how it all works.

    View the source for this lesson on GitHub.

  • 03

    Episode 3 Run Time 13:16

    The Template Method Pattern

    I bet you've used the template method design pattern on multiple occassions without even realizing it! This is an easy one to understand. Let's dig in.

  • 04

    Episode 4 Run Time 10:04

    Pick a Strategy

    Let's talk about the strategy design pattern and polymorphism. Like many patterns, you may find that you already use this one! You just didn't know that it had a name!

  • 05

    Episode 5 Run Time 11:32

    The Chain of Responsibility

    The chain of responsibility pattern is definitely an interesting one. It literally allows us to chain any number of objects, where each has the option of either handling a particular request, or deferring to the next object in the cycle.

  • 06

    Episode 6 Run Time 19:08

    The Specification Pattern in PHP

    Though certainly not for everything, you may find situations where the specification pattern can prove to be exactly what you need. In this lesson, we'll review the core concept, while using TDD and PHPUnit to drive our code.

  • 07

    Episode 7 Run Time 10:16

    The Specification Pattern in PHP: Part 2

    In the previous lesson on the specification pattern, we reviewed the core fundamentals. However, we stopped just short of figuring out how to apply this concept to database queries. Let's figure that out, while, in the process, learning how to use (and test) Eloquent outside of Laravel.

    View the source for this two-part series on GitHub.

  • 08

    Episode 8 Run Time 17:06

    Observe This, Fool

    The observer pattern is easily one of the most popular patterns in the bunch. And, luckily, it's one of the easier ones to comprehend. Let's review the essentials, while ultimately translating this new knowledge over to Laravel's implementation (in version 5).