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$year
are properties of theCar
class. - Constructor: The
__construct
method 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 theCar
class and passes parameters to the constructor.echo $myCar->getCarDetails();
: Calls thegetCarDetails()
method on the$myCar
object, 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$year
are private, meaning they can't be accessed directly from outside the class. - The
setYear
method 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.
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.
Copyright 2023-2025 © All rights reserved.