Hi, Please find attached a patch for http://uk3.php.net/__destruct to hopefully make it a little clearer.
I tried to use edit.php.net, but it told me that this file had been modified by "Anonymous #2095", so I couldn't save it there. In case the attachment doesn't work, the diff text is: Index: language/oop5/decon.xml =================================================================== --- language/oop5/decon.xml (revision 316864) +++ language/oop5/decon.xml (working copy) @@ -94,8 +94,9 @@ <para> PHP 5 introduces a destructor concept similar to that of other object-oriented languages, such as C++. The destructor method will be - called as soon as all references to a particular object are removed or when - the object is explicitly destroyed or in any order in shutdown sequence. + called as soon as there are no other references to a particular object + when that object is explicitly destroyed, or in any order during the + shutdown sequence. </para> <example> <title>Destructor Example</title> Basically, the current text implies that explicitly destroying the object will call __destruct() regardless of whether there are any other references to it, which is not how it works as unset() will only call __destruct() if there are no other references to the object. Regards, Rob…
Index: language/oop5/decon.xml =================================================================== --- language/oop5/decon.xml (revision 316864) +++ language/oop5/decon.xml (working copy) @@ -94,8 +94,9 @@ <para> PHP 5 introduces a destructor concept similar to that of other object-oriented languages, such as C++. The destructor method will be - called as soon as all references to a particular object are removed or when - the object is explicitly destroyed or in any order in shutdown sequence. + called as soon as there are no other references to a particular object + when that object is explicitly destroyed, or in any order during the + shutdown sequence. </para> <example> <title>Destructor Example</title>