PHP Class & Object
PHP, like many other programming languages, supports object-oriented programming (OOP). In OOP, a class is a blueprint for creating objects (a particular data structure), providing initial values for state (member variables or properties), and implementations of behavior (member functions or methods).
Class
A class is defined with the class keyword followed by the class name. Inside the class, you can define properties and methods.
Object
An object is an instance of a class. Once you have a class, you can create objects from that class.
Example: Defining a Class and Creating an Object
Let's go through a simple example to demonstrate how to define a class and create objects in PHP.
Step 1: Define a Class
<?php
class Car {
// Properties
public $make;
public $model;
public $year;
// Constructor
public function __construct($make, $model, $year) {
$this->make = $make;
$this->model = $model;
$this->year = $year;
}
// Methods
public function getCarDetails() {
return "This car is a $this->year $this->make $this->model.";
}
}
?>
Step 2: Create Objects from the Class
<?php
// Include the class definition
include 'Car.php';
// Create an object of the class Car
$myCar = new Car("Toyota", "Corolla", 2020);
$anotherCar = new Car("Honda", "Civic", 2019);
// Access properties and methods
echo $myCar->getCarDetails(); // Output: This car is a 2020 Toyota Corolla.
echo $anotherCar->getCarDetails(); // Output: This car is a 2019 Honda Civic.
?>
Explanation
-
Class Definition:
class Car { ... }: Defines a class namedCar.- Properties: Variables defined inside a class are called properties. In this example,
$make,$model, and$yearare properties of theCarclass. - Constructor: The
__constructmethod is a special method called when an object is instantiated. It initializes the properties of the class. - Methods: Functions defined inside a class are called methods. In this example,
getCarDetails()is a method that returns a string describing the car.
-
Creating Objects:
new Car("Toyota", "Corolla", 2020): Creates a new object of theCarclass and passes parameters to the constructor.echo $myCar->getCarDetails();: Calls thegetCarDetails()method on the$myCarobject, which outputs the details of the car.
Access Modifiers
In PHP, properties and methods can have access modifiers to define their visibility:
public: Accessible from anywhere.protected: Accessible within the class and by inheriting classes.private: Accessible only within the class itself.
Example with Access Modifiers
<?php
class Car {
// Properties
private $make;
private $model;
private $year;
// Constructor
public function __construct($make, $model, $year) {
$this->make = $make;
$this->model = $model;
$this->year = $year;
}
// Methods
public function getCarDetails() {
return "This car is a $this->year $this->make $this->model.";
}
public function setYear($year) {
if($year > 1885 && $year <= date("Y")) {
$this->year = $year;
} else {
echo "Invalid year.";
}
}
}
?>
In this example:
- The properties
$make,$model, and$yearare private, meaning they can't be accessed directly from outside the class. - The
setYearmethod is used to set the year property with validation.
Creating and Using the Object
<?php
$myCar = new Car("Toyota", "Corolla", 2020);
echo $myCar->getCarDetails(); // Output: This car is a 2020 Toyota Corolla.
$myCar->setYear(2022);
echo $myCar->getCarDetails(); // Output: This car is a 2022 Toyota Corolla.
$myCar->setYear(1800); // Output: Invalid year.
?>
This illustrates the basics of using classes and objects in PHP. By following these principles, you can build more complex and organized applications.
Written by Shaikh Abdul Shahid
A Full-Stack Developer with experience in PHP, Laravel, JavaScript, and React.
Founder of Online Learner, sharing practical knowledge and programming tutorials.
Building and maintaining real-world web applications since 2017.
Your Feedback
Help us improve by sharing your thoughts
Online Learner helps developers master programming, database concepts, interview preparation, and real-world implementation through structured learning paths.
Quick Links
© 2023 - 2026 OnlineLearner.in | All Rights Reserved.
