Question

Is there a way in PHP to destroy an object from within that same object?

Was it helpful?

Solution

There is a way to self destruct an object :

Use the $GLOBALS array to find your instance in it, then use unset(). Be aware that unset() does not automatically call the __destruct() magic method all the time...

There is such a note in this way (see the unset() documentation) in the PHP documentation, but it does not explain exactly when unset() does not call the __destruct() method.

And I had this specific behaviour :

I do a :

unset($myInstance);
$myInstance = clone $otherInstance;

And the __constructor is called first, then the __destruct(). Or I would like the __destruct() to be called first because unset() is before clone... I ma stuck with that now...

Nicolas.

OTHER TIPS

If a method is called in the object's context then there has to be at least one reference to that object. And since php only removes unreachable objects the answer is: no.

No, I don't think there is. But would you need such thing?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top