Search code examples
phpobjectdestroy

PHP: Destroy an object from within the object?


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


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.