A destructor is a special method in PHP that is automatically called when:
An object is no longer in use (e.g., at the end of the script).
The script terminates or exits.
The __destruct() function is helpful for cleanup tasks such as closing database connections, freeing resources, or displaying final messages.
Key Note: Like the constructor, the _destruct method starts with two underscores (_).
Here’s an example showcasing how a constructor and a destructor work together:
Example 1: Vehicle Class
<?php
class Vehicle {
public $type;
function __construct($type) {
$this->type = $type;
}
function __destruct() {
echo "The vehicle type is {$this->type}.";
}
}
$car = new Vehicle("Car");
// Destructor is automatically called at the end of the script
?>
Example 2: Animal Class
<?php
class Animal {
public $species;
public $habitat;
function __construct($species, $habitat) {
$this->species = $species;
$this->habitat = $habitat;
}
function __destruct() {
echo "The animal is a {$this->species} that lives in {$this->habitat}.";
}
}
$elephant = new Animal("Elephant", "forest");
// Destructor is automatically called here
?>
Explanation of Examples:
Vehicle Class Example:
The constructor initializes the $type property when the object ($car) is created.
The destructor outputs a message using the $type property when the script ends.
Animal Class Example:
The constructor initializes $species and $habitat properties when the object ($elephant) is created.
The destructor outputs a final message with both properties when the object is destroyed.
Tip: Constructors and destructors are invaluable in PHP as they help reduce boilerplate code and ensure proper initialization and cleanup of resources in your scripts.
