Java Techies- Solution for All
Constructor and Destructor
Constructor :
- PHP 5 provides two ways where you can write a constructor method inside a class.
- First way is to create a method with the name
__construct()
inside the class. - The second way is to create a method naming exactly the same as class name.
<?php class factorial { private $result = 1; private $num; function __construct($num)//Construtor { $this->num = $num; for($i=2; $i<=$num; $i++) { $this->result*=$i; } echo "__construct() executed. "; } function factorial($num) { $this->num = $num; for($i=2; $i<=$num; $i++) { $this->result*=$i; } echo "factorial() executed. "; } public function display() { echo "factorial of {$this->num} is {$this->result}. "; } } $factorial = new factorial(5); $factorial->display(); ?>
Output :
__construct() executed. factorial of 5 is 120.
Destructor :
- It is similar to constructor method.
- Destructor method which actually works upon destroying an object.
- You can explicitly create a destructor method by naming it __destruct().
- It will be invoked automatically by PHP at the end of the execution of your codes.
$lt;?php class factorial { private $result = 1; private $num; function __construct($num) { $this->num = $num; for($i=2; $i<=$num; $i++) { $this->result*=$i; } echo "__construct() executed. "; } function factorial($num) { $this->num = $num; for($i=2; $i<=$num; $i++) { $this->result*=$i; } echo "factorial() executed. "; } public function display() { echo "factorial of {$this->num} is {$this->result}.</br> "; } function __destruct()//Destructor { echo " Destroyed. "; } } $factorial = new factorial(5); $factorial->display(); ?>
Output :
__construct() executed. factorial of 5 is 120. Destroyed.