Bug #53289 [Opn->Fbk]: about __destruct
Edit report at http://bugs.php.net/bug.php?id=53289&edit=1
ID: 53289
Updated by: felipe@php.net
Reported by: asersz at gmail dot com
Summary: about __destruct
-Status: Open
+Status: Feedback
Type: Bug
-Package: Unknown/Other Function
+Package: Scripting Engine problem
Operating System: Windows 7
PHP Version: 5.2.14
Block user comment: N
New Comment:
Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php
for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php
for Win32
Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.
I can't reproduce any problem with this test script.
Previous Comments:
------------------------------------------------------------------------
[2010-11-10 09:25:36] asersz at gmail dot com
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 this bug report at http://bugs.php.net/bug.php?id=53289&edit=1
Thread (4 messages)