PHP OOps
Object-Oriented Programming (OOP) in PHP allows you to create modular, reusable code through the use of objects and classes. Below are the core concepts of OOP in PHP with examples:
- Classes and Objects
- Properties and Methods
- Constructors and Destructors
- Inheritance
- Access Modifiers
- Static Methods and Properties
- Interfaces
- Abstract Classes
1. Classes and Objects
A class is a blueprint for creating objects. An object is an instance of a class.
<?php
class Car {
// Properties
public $color;
public $model;
// Methods
public function __construct($color, $model) {
$this->color = $color;
$this->model = $model;
}
public function message() {
return "My car is a " . $this->color . " " . $this->model . ".";
}
}
$myCar = new Car("red", "Toyota");
echo $myCar->message();
?>
Output:
My car is a red Toyota.
2. Properties and Methods
Properties are variables within a class, and methods are functions within a class.
<?php
class Person {
public $name;
public $age;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
$person = new Person();
$person->setName("John");
echo $person->getName();
?>
Output:
John
3. Constructors and Destructors
Constructors are special methods that are called when an object is instantiated. Destructors are called when the object is destroyed.
<?php
class Animal {
public function __construct() {
echo "An animal has been created.<br>";
}
public function __destruct() {
echo "An animal has been destroyed.<br>";
}
}
$animal = new Animal();
?>
Output:
An animal has been created.
An animal has been destroyed.
4. Inheritance
Inheritance allows a class to inherit the properties and methods of another class.
<?php
class ParentClass {
public function parentMethod() {
echo "This is a method from the parent class.<br>";
}
}
class ChildClass extends ParentClass {
public function childMethod() {
echo "This is a method from the child class.<br>";
}
}
$child = new ChildClass();
$child->parentMethod();
$child->childMethod();
?>
Output:
This is a method from the parent class.
This is a method from the child class.
5. Access Modifiers
Access modifiers define the visibility of properties and methods. PHP has three access modifiers: public, protected, and private.
<?php
class Test {
public $publicProperty = "Public";
protected $protectedProperty = "Protected";
private $privateProperty = "Private";
public function publicMethod() {
echo $this->publicProperty . "<br>";
echo $this->protectedProperty . "<br>";
echo $this->privateProperty . "<br>";
}
}
$test = new Test();
echo $test->publicProperty . "<br>"; // Works
// echo $test->protectedProperty; // Error
// echo $test->privateProperty; // Error
$test->publicMethod();
?>
Output:
Public
Public
Protected
Private
6. Static Methods and Properties
Static methods and properties belong to the class itself rather than any object.
<?php
class StaticExample {
public static $staticProperty = "I'm static";
public static function staticMethod() {
return "I'm a static method";
}
}
echo StaticExample::$staticProperty . "<br>";
echo StaticExample::staticMethod();
?>
Output:
I'm static
I'm a static method
7. Interfaces
Interfaces allow you to define methods that must be implemented in any class that implements the interface.
<?php
interface AnimalInterface {
public function makeSound();
}
class Dog implements AnimalInterface {
public function makeSound() {
echo "Woof!<br>";
}
}
class Cat implements AnimalInterface {
public function makeSound() {
echo "Meow!<br>";
}
}
$dog = new Dog();
$dog->makeSound();
$cat = new Cat();
$cat->makeSound();
?>
Output:
Woof!
Meow!
8. Abstract Classes
Abstract classes cannot be instantiated and are meant to be extended by other classes. They can have abstract methods that must be implemented in the child classes.
<?php
abstract class Vehicle {
abstract public function startEngine();
public function describe() {
echo "This is a vehicle.<br>";
}
}
class Car extends Vehicle {
public function startEngine() {
echo "Starting car engine.<br>";
}
}
$car = new Car();
$car->describe();
$car->startEngine();
?>
Output:
This is a vehicle.
Starting car engine.
These are the fundamental concepts of PHP's object-oriented programming. Using these, you can create well-structured, modular, and reusable code.
At Online Learner, we're on a mission to ignite a passion for learning and empower individuals to reach their full potential. Founded by a team of dedicated educators and industry experts, our platform is designed to provide accessible and engaging educational resources for learners of all ages and backgrounds.
Terms Disclaimer About Us Contact Us
Copyright 2023-2025 © All rights reserved.