From:
Operating system: Windows 7
PHP version: 5.2.14
Package: Unknown/Other Function
Bug Type: Bug
Bug description:about __destruct
Description:
------------
I am not good at english..
Read the following code ..
An error occurs when you run it..
(there will be white-screen in my codes.)
Chinese :
å¦æä½ è½çæä¸æ.飿好ä¸è¿äº.
ä¸é¢çä»£ç æè®¤ä¸º__destruct被继æ¿ä¹å,
ä¼å¯¼è´ä¸é¢ä¸¤ä¸ªç±»ç对象å¨éæ¾æ¶åºç°æ æ³æ¾å°static
$childsçé误.
使¯å¨æç代ç éé¢ä»ç¡®å®æ²¡æåºç°è¿ä¸ªé误,
åèè¿è¡äºå¾ä¹
ä¹ååºç°äºç½å±.
çä¸å»å¾åä¸ä¸ªæ»å¾ªç¯.
Test script:
---------------
error_reporting(E_ALL);
ini_set('display_errors', 'on');
abstract class Father {
private static $childs = array();
public static function getChild( $child ) {
if (!array_key_exists("$child", self::$childs)) {
self::$childs["$child"] = new $child;
}
return self::$childs["$child"];
}
public function __destruct() {
foreach (self::$childs as $i => $child) {
self::$childs[$i] = $child = null;
}
}
}
class Child1 extends Father {}
class Child2 extends Father {}
$child1 = Father::getChild('Child1');
$child2 = Father::getChild('Child2');
--
Edit bug report at http://bugs.php.net/bug.php?id=53289&edit=1
--
Try a snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=53289&r=trysnapshot52
Try a snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=53289&r=trysnapshot53
Try a snapshot (trunk):
http://bugs.php.net/fix.php?id=53289&r=trysnapshottrunk
Fixed in SVN:
http://bugs.php.net/fix.php?id=53289&r=fixed
Fixed in SVN and need be documented:
http://bugs.php.net/fix.php?id=53289&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=53289&r=alreadyfixed
Need backtrace:
http://bugs.php.net/fix.php?id=53289&r=needtrace
Need Reproduce Script:
http://bugs.php.net/fix.php?id=53289&r=needscript
Try newer version:
http://bugs.php.net/fix.php?id=53289&r=oldversion
Not developer issue:
http://bugs.php.net/fix.php?id=53289&r=support
Expected behavior:
http://bugs.php.net/fix.php?id=53289&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=53289&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=53289&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=53289&r=globals
PHP 4 support discontinued: http://bugs.php.net/fix.php?id=53289&r=php4
Daylight Savings: http://bugs.php.net/fix.php?id=53289&r=dst
IIS Stability:
http://bugs.php.net/fix.php?id=53289&r=isapi
Install GNU Sed:
http://bugs.php.net/fix.php?id=53289&r=gnused
Floating point limitations:
http://bugs.php.net/fix.php?id=53289&r=float
No Zend Extensions:
http://bugs.php.net/fix.php?id=53289&r=nozend
MySQL Configuration Error:
http://bugs.php.net/fix.php?id=53289&r=mysqlcfg