#34421 [Bgs->Opn]: get_class and debug_backtrace report wrong class for inherited static methods
| From: | wkonkel at gmail dot com | Date: | Tue, 13 Sep 2005 18:07:48 +0000 |
| Subject: | #34421 [Bgs->Opn]: get_class and debug_backtrace report wrong class for inherited static methods | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-84999@lists.php.net to get a copy of this message | ||
ID: 34421
User updated by: wkonkel at gmail dot com
Reported By: wkonkel at gmail dot com
-Status: Bogus
+Status: Open
-Bug Type: Feature/Change Request
+Bug Type: Class/Object related
Operating System: redhat
PHP Version: 5.0.5
New Comment:
I don't understand why this keeps being dismissed as bogus. It's an
outstanding issue that should be fixed regardless of the current
limitations of the way the engine works.
Previous Comments:
------------------------------------------------------------------------
[2005-09-09 13:25:34] johannes@php.net
This is a limitation in the way the engine works and it
most likely won't change in the near future. See also
previous discussions about it.
http://zend.com/zend/week/week219.php#Heading5
------------------------------------------------------------------------
[2005-09-08 22:59:43] civilization_2 at hotmail dot com
While we're at it, perhaps it would be nice to have a magic-variable
for this?
------------------------------------------------------------------------
[2005-09-08 16:56:56] goat at daholygoat dot com
I also have to agree with wkonkel about this being a bug. I can't think
of any reason why you shouldn't be able to do class introspection from a
static method in the inherited class. It's very useful for building
object factories, for example (a really major OO area).
------------------------------------------------------------------------
[2005-09-08 16:21:21] civilization_2 at hotmail dot com
I have to agree with wkonkel. The example shown above works as expected
in php4, so if this is by design then php5 is lacking a vital feature
that php4 has, namely the ability to get the name of the extended class
in a static function call to which resides in the base class.
------------------------------------------------------------------------
[2005-09-08 16:06:19] wkonkel at gmail dot com
Although this is how it currently does work, this is not logical. If I
specify that the scope to be "extendedBaseClass", then why is the scope
"baseClass"? If this was not a static method, calling get_class() would
return "extendedBaseClass" because the object simply isn't a
"baseClass", it's an "extendedBaseClass". Static methods are no
different.
------------------------------------------------------------------------
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/34421
--
Edit this bug report at http://bugs.php.net/?id=34421&edit=1