Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to destroy a class object in PHP?

I wrote a little class for storing global variables/functions. My question is - is it necessary to destroy the class object after the script has finished? or will PHP destroy that object itself?

Here's my code:

$web=new c_web("myWeb");
$web->loadTemplate("/!framework/admin/template.htm");
$web->doStuff();
// script has finished - destroying required here?

In case I need to destroy it, how can I do that?

like image 321
Fuxi Avatar asked Apr 08 '11 11:04

Fuxi


3 Answers

If the script finishes, the memory is released. You're ready as is :)

like image 73
Nanne Avatar answered Oct 15 '22 01:10

Nanne


No, you do not need to destroy any variable yourself (and an object is a variable) : as soon as your PHP script reaches its end, its variables will be freed, and the correspondig memory released.

Actually, a variable gets destroyed automatically when the end of its variable's scope is reached -- and, when you reach end of script, it's the end of the scope introduced by that script's execution.


(Answering a comment to another answer)
Of course, when your script is ended because of an error, the same thing happens : the variables are freed, and the memory released.

like image 43
Pascal MARTIN Avatar answered Oct 15 '22 03:10

Pascal MARTIN


As @Nanne sayd, if the script finished the memory is released, however in some circumstances you might whant to unset($web); .

like image 4
Poelinca Dorin Avatar answered Oct 15 '22 03:10

Poelinca Dorin