Home / PHP

Introduction to Object-Oriented Programming (OOP) in PHP

Object-oriented programming (OOP) is a programming paradigm that is widely used in modern software development. It is a way of designing and organizing code to represent real-world objects as software objects. PHP, a popular server-side scripting language, also supports object-oriented programming.

What is Object-Oriented Programming?

In traditional procedural programming, the code is organized around functions or procedures that manipulate data. On the other hand, object-oriented programming focuses on objects - instances of classes that encapsulate data and behavior.

An object is an instance of a class, which is a blueprint or template for creating objects. The class defines the properties (attributes) of an object and the operations (methods) that can be performed on it.

OOP provides several principles such as encapsulation, inheritance, and polymorphism to improve code readability, reusability, and maintainability.

Objects, Classes, and Instances

In PHP, a class is defined using the class keyword followed by the name of the class. For example, to create a class called Person, we would write:

class Person {
    // class definition goes here

An object is created from a class using the new keyword and the class name, followed by parentheses. For instance:

$person = new Person();

In this example, $person is an instance of the Person class.

Properties and Methods

Classes can have properties and methods. Properties represent the state or data of an object, while methods define the behavior or the actions that an object can perform.

To define a property, you can use the visibility keywords public, private, or protected followed by the variable name. For example:

class Person {
    public $name;
    private $age;

    // methods will be defined here

In this case, the $name property is public, meaning it can be accessed and modified from outside the class. On the other hand, the $age property is private and can only be accessed from within the class itself.

Methods are defined using the function keyword. For example:

class Person {
    public $name;
    private $age;

    public function sayHello() {
        echo "Hello, my name is " . $this->name;

In this example, the sayHello() method outputs a greeting along with the name of the person.

Encapsulation, Inheritance, and Polymorphism

Encapsulation is the process of hiding internal details of an object and exposing only what is necessary. It helps to prevent direct access to the class properties and ensures data integrity.

Inheritance allows one class to inherit properties and methods from another class, creating a parent-child relationship. The child class (also known as the subclass) can extend and override the properties and methods of the parent class (or superclass).

Polymorphism enables objects of different classes to be used interchangeably because they share a common interface. It allows flexibility and code reuse.


Object-oriented programming is a powerful paradigm that provides a structured approach to software development. PHP supports object-oriented programming, allowing developers to create classes, objects, properties, and methods. Understanding the basic concepts of OOP in PHP is essential for building scalable and maintainable applications.

noob to master © copyleft