ID: 23038
Updated by: [EMAIL PROTECTED]
Reported By: black at sunshine dot krneki dot org
-Status: Analyzed
+Status: Verified
Bug Type: Scripting Engine problem
Operating System: linux debian
PHP Version: 4.3.3RC2-dev
Previous Comments:
------------------------------------------------------------------------
[2003-07-27 14:30:21] [EMAIL PROTECTED]
This problem has little to do with aggregation functions. This is a ZE
scripting language problem. This can be demonstrated by adding
var_dump(get_class($this)) inside the foo constructor. It'll always
print "foo", the name of the class for the class the constructor is
for, not the 'real' class.
------------------------------------------------------------------------
[2003-06-23 18:02:59] [EMAIL PROTECTED]
Andrei, can you take a look please..?
------------------------------------------------------------------------
[2003-06-23 17:35:43] black at sunshine dot krneki dot org
Got Result:
Doing bar as foo ...
Array
(
[bar] => Array
(
[methods] => Array
(
[0] => doit
)
[properties] => Array
(
)
)
)
Doing bar as foo ...
i know the get_class() returns wrong classname on second hit, as it
returns 'foo' instead of 'foobar'.
Expected result should be:
Doing bar as foo ...
Doing bar as foobar ...
Clear enough for you, sniper, buddy? (sorry about this taunt)
------------------------------------------------------------------------
[2003-06-23 17:25:27] [EMAIL PROTECTED]
Not enough info (as in: what was the expected result, etc..etc..)
------------------------------------------------------------------------
[2003-06-21 09:17:30] hewei at ied dot org dot cn
The bug is not fixed. Run the following script either before or after
applying andrei's recent patch, one will reproduct the bug.
<?php
class bar {
function doit()
{
print "Doing bar as " . get_class($this) . " ...\n";
}
}
class foo {
function foo()
{
print_r(aggregation_info($this));
aggregate($this, "bar");
}
}
class foobar extends foo {
}
$a = new foo();
$a->doit();
unset($a);
$b = new foobar();
$b->doit();
?>
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/23038
--
Edit this bug report at http://bugs.php.net/?id=23038&edit=1