destructor not called for static members?
| From: | Robert Janeczek | Date: | Thu, 10 Mar 2005 11:27:32 +0000 |
| Subject: | destructor not called for static members? | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-210425@lists.php.net to get a copy of this message | ||
am i missing something or destructor isn`t called for objects that are assigned to static fields in other objects? here is some example code:
<?php
class c1 {
public function __destruct() {
echo '__destruct';} } class c2 { private static $_ref; public function __construct() {
self::$_ref = new c1();
//$this->_ref = new c1();} } $obj = new c2(); unset($obj); ?> i thought this should display __destruct in both cases from c2::__construct, but only the one with non static access seems to call c1::destruct. and if i remove unsetting $obj from the end of code this one also doesn`t work. is it expected behaviour? or maybe when __destructor is called after script finishes execution than output is no longer possible? i tried also send some information to file and this also didn`t work. help please :) php 5.0.3 rash