Object-Oriented Bootcamp

As wonderful as Laravel is, it does assume that you have a basic understanding of object-oriented programming. If you don't, that's okay, we all were there at one point; however, you need to buckle down and learn this stuff before continuing on to the various lessons on this site. Let me help!

Start Series

Share this series on:

  • 01

    Episode 1 Run Time 10:05

    Classes Free

    Naturally, the first step in our journey is to review the structure of a PHP class. As you'll find, they allow us to represent pieces of our domain in a readable and flexible fashion.

  • 02

    Episode 2 Run Time 7:19

    Getters and Setters

    When I was first learning, I had a lot of trouble understanding the need for getters and setters. Hopefully, I can make it easier for you, than it was for me!

  • 03

    Episode 3 Run Time 5:30


    Encapsulation is a confusing, scary term, that simply refers to the act of hiding information. Let me show you.

  • 04

    Episode 4 Run Time 16:12


    Luckily, inheritance is a fairly easy concept to understand. I'll show you a few different examples to illustrate this common pattern.

  • 05

    Episode 5 Run Time 11:07

    Messages 101

    The key to OOP is undestanding that objects send messages to one another. So far, we've exclusively worked with single classes, but that's not even remotely indicative of a real-world application. So, let's take a step up the ladder, and talk about communication.

  • 06

    Episode 6 Run Time 14:04

    Namespacing and Autoloading

    Though not directly related to OOP, it's important that we take a short break to discuss such topics as namespacing and autoloading. These are core concepts that you must learn.

  • 07

    Episode 7 Run Time 11:19

    Statics and Constants

    You've likely come across an article on the web, which stated that statics are evil. What do they mean by this? Is it true? Well...partially. Let's talk about it in this episode.

  • 08

    Episode 8 Run Time 19:13


    Appreciating the benefits of coding to an interface took me a very, very long time. This video will be step one on your journey. Watch it multiple times.

  • 09

    Episode 9 Run Time 9:21

    Interfaces vs. Abstract Classes

    When I was first learning OOP, I very quickly became confused by interfaces and abstract classes. What is the difference between the two? How do I decide which is appropriate for any given situation?

  • 10

    Episode 10 Run Time 15:09

    A Review

    I want to impress upon you that developers, at all times, have multiple ways to solve any particular problem. In certain contexts, one approach might be preferred, while in other situations, it very much might be the wrong approach. The key is to measure the pros and cons as best as you can.

    In this episode, we'll review many of the terms that you've learned in this series.