top of page

Beginner-Friendly Guide for Object-Oriented Programming (OOP) in PHP

Hey there, PHP believer! As a software developer, this is my first time writing a blog with Krenovator. Forgive me if something is missing in this blog. Hope this first attempt will be a good start for me in this writing space.

OOP for beginner

We've been conquering the basics like champs: variables, forms, databases – you name it, we've tamed it. But have you ever felt a nagging sense that there's a whole other level of PHP waiting to be explored? Enter the realm of Object-Oriented Programming (OOP), also known as the land of objects and classes (don't worry, it's way cooler than it sounds).

Think of an OOP like building with Legos. Instead of grabbing individual bricks every time you need something, you create pre-built modules (classes) that can be reused in different parts of your program (objects). It's cleaner, more efficient, and makes your code look like a work of art (okay, maybe not art, but definitely less like a spaghetti monster!).

So, buckle up, because in this post, we'll be taking a beginner-friendly dive into the wonders of OOP in PHP. No capes or secret handshakes are required it is just pure coding fun! Beginner-Friendly Guide for Object-Oriented Programming is for you if want to start your coding journey.

Let's start your coding journey: Beginner-Friendly Guide for Object-Oriented Programming

Building Blocks of OOP: Classes and Objects

Let's break down the key players in OOP:

  • Classes: Imagine a class as a blueprint for creating objects. It defines the properties (think of these as characteristics) and methods (like actions) that an object will have.

  • Objects: These are the actual instances of a class. They hold specific values for the properties defined in the class and can execute the methods associated with it.

For example, consider a class called Car. The Car class might have properties like color, model, and year. It could also have methods like accelerate(), brake(), and turn(). Each car you create (an object) would have its own unique color, model, and year, but they would all share the ability to accelerate, brake, and turn.

Creating Your First Class: Let's Make a Dog!

Ready to put theory into practice? Let's create a simple Dog class in PHP:


class Dog {
  // Properties (characteristics)
  public $breed;
  public $name;
  public $age;

  // Methods (actions)
  public function bark() {
    echo "Woof! Woof!";

  public function fetch() {
    echo "The dog fetches the ball!";

Here's a breakdown of what we just did:

  1. We defined a class named Dog.

  2. We created three properties: breed, name, and age. These will hold specific information about each dog object.

  3. We defined two methods: bark() and fetch(). These functions describe actions that a dog can perform.

Bringing Your Dog to Life: Creating Objects

Now, let's create two dog objects using our Dog class:


$fido = new Dog();
$fido->breed = "Labrador";
$fido->name = "Fido";
$fido->age = 3;

$luna = new Dog();
$luna->breed = "Poodle";
$luna->name = "Luna";
$luna->age = 1;

$fido->bark(); // Output: Woof! Woof!
$luna->fetch(); // Output: The dog fetches the ball!

Here's what happened:

  1. We used the new keyword to create two objects: fido and luna from the Dog class.

  2. We assigned specific values to each object's properties (breed, name, age).

  3. We called the bark() and fetch() methods on each dog object, making them perform their respective actions.

Remember: Objects inherit the properties and methods defined in their class. So, both Fido and Luna can bark and fetch, even though they are different breeds of dogs.

The Power of Reusability: Why OOP Rocks!

Imagine creating separate functions for every car you wanted to control in a game. OOP saves the day! You define the functionalities (accelerate, brake, turn) once in the Car class, and then create multiple car objects with their own unique properties. This makes your code cleaner, easier to maintain, and infinitely more scalable.

Bonus Tip:  OOP also encourages a more modular programming approach, making your code easier to understand and reuse in different parts of your project. This is only an OOP surface. You can explore more in the future.

Sign up Krenovator's platform for free tech classes every week. Learn from the industry experts. Sign up here.



bottom of page