ID: 12454
Updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Status: Open
-Bug Type: Variables related
+Bug Type: Documentation problem
Operating System: Linux
PHP Version: 4.0.6
New Comment:
Making this a documentation problem.
Static variables just can't hold references of any kind.
For objects it's avoidable with ZE2 because of the new object model.
Previous Comments:
------------------------------------------------------------------------
[2001-07-29 05:14:19] [EMAIL PROTECTED]
Another unfortunate bug with references appears to be that statics
holding references inside methods are actually transient, and a
reference will be lost.
For example, calling the following code several times will initialise
$db and return every time with a new instance.
function &getInstance()
{
static $db;
if (!isset($db)) {
$db =& new FS_DB();
}
return $db;
}
whereas the following will give true singeton behaviour and initialise
just once, as expected.
function &getInstance()
{
static $db;
if (!isset($db)) {
$db = new FS_DB();
}
return $db;
}
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=12454&edit=1