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.
Terms Disclaimer About Us Contact Us
Copyright 2023-2025 © All rights reserved.