What are the __construct() and __destruct() methods in a PHP ?
Last Updated :
23 Jul, 2025
The constructor is the OOPs concept in PHP. It is a method that has the same name as the class name. It is defined inside the class and is used to automatically call when the object is created.
PHP4 provides the constructor method whereas PHP5 provides the magic method __construct and __destruct. This method is automatically called when an object is created or destroyed. This function always starts with two underscores.
__construct() Method: __construct is a public magic method that is used to create and initialize a class object. __construct assigns some property values while creating the object. This method is automatically called when an object is created.
Properties:
- __construct is a public magic method.
- __construct is a method that must have public visibility
- __construct method can accept one and more arguments.
- __construct method is used to create an object.
- __construct method can call the class method or functions
- __construct method can call constructors of other classes also.
The constructor will initialize the class properties at the time of object creation. The __construct() method will be called only once when the object of the class is created.
Syntax:
$object_name= new class_name (argument value);
Example:
$subject=new computer(“English”);
Syntax:
function __construct() {
// Initialize the object properties
}
Approach:
- Default Constructor: By default, __construct() method has no parameters. The values passed to the default constructor are default.
- Parameterized Constructor: In parameterized constructor __construct() method takes one and more parameters. You can provide different values to the parameters.
- Copy Constructor: In the copy constructor, the __construct() method accepts the address of the other objects as a parameter.
Default Constructor: In default constructor, the __construct() method has no parameters. The values passed to the default constructor are default.
Example: Let us take the example of a class "student" that will display a simple message for this class, We will define a constructor without a parameter.
Constructor without parameter:
PHP
<?php
class Student {
function __construct() {
print "This is __construct without parameter\n";
print "Welcome To GeeksforGeek";
}
}
$obj = new Student();
?>
Output:
This is __construct without parameter
Welcome To GeeksforGeek
Constructor with parameter:
Example 2: Let us take another example of a class "student" who has two properties "name" and "surname". For this class, we will define a constructor with a parameter that will initialize class properties when the object is created.
PHP
<?php
class student {
// Class properties
public $name;
public $surname;
// constructor with parameter
public function __construct($name, $surname) {
$this->name = $name;
$this->surname = $surname;
}
// Display student data
public function display() {
echo "My name is " . $this->name
. "<br>Surname is " . $this->surname;
}
}
// Create class object and pass value
$user = new student("john", "biber");
$user->display();
?>
Output:
My name is john
Surname is biber
PHP Destructor: PHP Destructor method is used to destroy objects or release their acquired memory. A destructor is called automatically when the object is created. Usually, it is called at end of the script. The destructor method does not take any arguments, The destructor does not return any data type. This all process is handled by Garbage Collector.
Properties:
- __destruct() method does not take any parameter.
- __destruct() method will not have any return type.
- This method works exactly the opposite of the __construct method in PHP.
- __destruct gets called automatically at the end of the script.
- __destruct() method starts with two underscores (__).
- It is used to de-initialize existing objects.
Syntax:
function __destruct() {
// Destroy objects or release memory.
}
Example:
PHP
<?php
class student {
function __construct() {
echo "This is a constructor<br>";
echo "Object is initialized in constructor<br>";
}
function __destruct() {
echo "This is destruct<br>";
echo "Object is destroyed in destructor";
}
}
$subject = new student();
?>
Output:
This is a constructor
Object is initialized in constructor
This is destruct
Object is destroyed in destructor
Example: Now, let us take an example of a "class" student who has three properties "name", "surname", and "favorite website". For this class, we will define a constructor with a parameter and the destructor will destroy the initialized object.
PHP
<?php
class Student {
public $name;
public $surname;
public $website;
public function __construct($name,
$surname, $website) {
$this -> name = $name;
$this -> surname = $surname;
$this -> website = $website;
}
public function __destruct() {
echo "My name is {$this -> name} "
. "<br>Surname is {$this -> surname}";
echo "<br>My favorite website is"
. "{$this -> website}";
echo "<br>Successfully object Destroyed";
}
}
$info = new Student("John","Biber","Geeksforgeek");
?>
Output:
My name is John
Surname is Biber
My favorite website is Geeksforgeek
Successfully object Destroyed
Example: Let us create a class "MyClass". In the constructor, we will define a new class property and destroy them in the destructor.
PHP
<?php
class MyClass {
function __construct() {
echo "You are in constructor<br>";
$this->name = "MyClass Object";
}
function __destruct() {
echo "You are in destructor<br>";
print "Just Destroyed " . $this->name;
}
}
$obj = new Myclass();
?>
Output:
You are in constructor
You are in destructor
Just Destroyed MyClass Object
Conclusion: In the real world, constructors and destructs are very useful as they space in memory. They allow the reusability of code. Overall they are very useful.
Similar Reads
PHP Tutorial PHP is a popular, open-source scripting language mainly used in web development. It runs on the server side and generates dynamic content that is displayed on a web application. PHP is easy to embed in HTML, and it allows developers to create interactive web pages and handle tasks like database mana
8 min read
Basics
PHP SyntaxPHP, a powerful server-side scripting language used in web development. Itâs simplicity and ease of use makes it an ideal choice for beginners and experienced developers. This article provides an overview of PHP syntax. PHP scripts can be written anywhere in the document within PHP tags along with n
4 min read
PHP VariablesA variable in PHP is a container used to store data such as numbers, strings, arrays, or objects. The value stored in a variable can be changed or updated during the execution of the script.All variable names start with a dollar sign ($).Variables can store different data types, like integers, strin
5 min read
PHP | FunctionsA function in PHP is a self-contained block of code that performs a specific task. It can accept inputs (parameters), execute a set of statements, and optionally return a value. PHP functions allow code reusability by encapsulating a block of code to perform specific tasks.Functions can accept param
8 min read
PHP LoopsIn PHP, Loops are used to repeat a block of code multiple times based on a given condition. PHP provides several types of loops to handle different scenarios, including while loops, for loops, do...while loops, and foreach loops. In this article, we will discuss the different types of loops in PHP,
4 min read
Array
PHP ArraysArrays are one of the most important data structures in PHP. They allow you to store multiple values in a single variable. PHP arrays can hold values of different types, such as strings, numbers, or even other arrays. Understanding how to use arrays in PHP is important for working with data efficien
5 min read
PHP Associative ArraysAn associative array in PHP is a special array where each item has a name or label instead of just a number. Usually, arrays use numbers to find things. For example, the first item is at position 0, the second is 1, and so on. But in an associative array, we use words or names to find things. These
4 min read
Multidimensional arrays in PHPMulti-dimensional arrays in PHP are arrays that store other arrays as their elements. Each dimension adds complexity, requiring multiple indices to access elements. Common forms include two-dimensional arrays (like tables) and three-dimensional arrays, useful for organizing complex, structured data.
5 min read
Sorting Arrays in PHPSorting arrays is one of the most common operation in programming, and PHP provides a several functions to handle array sorting. Sorting arrays in PHP can be done by values or keys, in ascending or descending order. PHP also allows you to create custom sorting functions.Table of ContentSort Array in
4 min read
OOPs & Interfaces
MySQL Database
PHP | MySQL Database IntroductionWhat is MySQL? MySQL is an open-source relational database management system (RDBMS). It is the most popular database system used with PHP. MySQL is developed, distributed, and supported by Oracle Corporation. The data in a MySQL database are stored in tables which consists of columns and rows.MySQL
4 min read
PHP Database connectionThe collection of related data is called a database. XAMPP stands for cross-platform, Apache, MySQL, PHP, and Perl. It is among the simple light-weight local servers for website development. Requirements: XAMPP web server procedure: Start XAMPP server by starting Apache and MySQL. Write PHP script f
2 min read
PHP | MySQL ( Creating Database )What is a database? Database is a collection of inter-related data which helps in efficient retrieval, insertion and deletion of data from database and organizes the data in the form of tables, views, schemas, reports etc. For Example, university database organizes the data about students, faculty,
3 min read
PHP | MySQL ( Creating Table )What is a table? In relational databases, and flat file databases, a table is a set of data elements using a model of vertical columns and horizontal rows, the cell being the unit where a row and column intersect. A table has a specified number of columns, but can have any number of rows. Creating a
3 min read
PHP Advance
PHP SuperglobalsPHP superglobals are predefined variables that are globally available in all scopes. They are used to handle different types of data, such as input data, server data, session data, and more. These superglobal arrays allow developers to easily work with these global data structures without the need t
6 min read
PHP | Regular ExpressionsRegular expressions commonly known as a regex (regexes) are a sequence of characters describing a special search pattern in the form of text string. They are basically used in programming world algorithms for matching some loosely defined patterns to achieve some relevant tasks. Some times regexes a
12 min read
PHP Form HandlingForm handling is the process of collecting and processing information that users submit through HTML forms. In PHP, we use special tools called $_POST and $_GET to gather the data from the form. Which tool to use depends on how the form sends the dataâeither through the POST method (more secure, hid
4 min read
PHP File HandlingIn PHP, File handling is the process of interacting with files on the server, such as reading files, writing to a file, creating new files, or deleting existing ones. File handling is essential for applications that require the storage and retrieval of data, such as logging systems, user-generated c
4 min read
PHP | Uploading FileHave you ever wondered how websites build their system of file uploading in PHP? Here we will come to know about the file uploading process. A question which you can come up with - 'Are we able to upload any kind of file with this system?'. The answer is yes, we can upload files with different types
3 min read
PHP CookiesA cookie is a small text file that is stored in the user's browser. Cookies are used to store information that can be retrieved later, making them ideal for scenarios where you need to remember user preferences, such as:User login status (keeping users logged in between sessions)Language preferences
9 min read
PHP | SessionsA session in PHP is a mechanism that allows data to be stored and accessed across multiple pages on a website. When a user visits a website, PHP creates a unique session ID for that user. This session ID is then stored as a cookie in the user's browser (by default) or passed via the URL. The session
7 min read