ID: 30423 User updated by: auroraeosrose at hotmail dot com Reported By: auroraeosrose at hotmail dot com -Status: No Feedback +Status: Open Bug Type: Feature/Change Request Operating System: * PHP Version: 5.* Assigned To: helly New Comment:
Then this is a won't fix...sigh...wanna set it to that? Previous Comments: ------------------------------------------------------------------------ [2004-10-24 01:00:02] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2004-10-16 19:44:08] [EMAIL PROTECTED] If i get you right you want to know to which class the function call was up to? If that's the answer i can tell you that we won't fix it because it would require a new global executor variable. ------------------------------------------------------------------------ [2004-10-15 20:18:15] auroraeosrose at hotmail dot com I don't think you looked closely enough at the example code to understand what I was asking for. Notice the method I'm calling is the parent, NOT the child. I need the CHILD name not the PARENT. I'm extending a class(an abstract one, not that it matters), but need to be able to get the name of the child class called in a method in the parent(abstract) class, because any number of classes could extend the abstract class. There's a trick to using get_class() to find out this information, if I call a method normally. I can do get_class($this) inside the method. HOWEVER, you can't DO that inside a static method, for obvious reasons there's no $this. I need a way to do a get_class($this) equivalent in a static method!! - something like get_class(self). Calling get_parent_class IN the parent class does me no good whatsoever- you just get false all the time. I already KNOW the parent, I know how to get the parent, but I need the child! (Actually, the ideal thing would be to fix get_class() so it returns the name of the actual class called, right now it returns whatever class the method happens to be in, and let __CLASS__ be the name of the class the method is actually in.) ------------------------------------------------------------------------ [2004-10-14 23:19:53] [EMAIL PROTECTED] This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Just await 5.0.3, 5.1.0 or the next snaps build.... ------------------------------------------------------------------------ [2004-10-14 14:58:55] auroraeosrose at hotmail dot com strangely enough, in php 5.0.x I can't get get_parent_class(get_class()) or get_parent_class(__CLASS__) to work anywhere - and even though I threw on the lastest snap of 5.1 get_parent_class() doesn't work yet, but it just might not be compiled in yet...I just get false back What I'm looking for is for whoami1 to give me the get_class($this) answer from whoami - the actual class called class test { function whoami() { echo 'This is class test'."\n"; echo 'Value of __CLASS__ is '.__CLASS__."\n"; echo 'Value of get_class() is '.get_class()."\n"; echo 'Value of get_class($this) is '.get_class($this)."\n"; echo 'Value of get_parent_class(__CLASS__) is '.get_parent_class(__CLASS__)."\n"; echo 'Value of get_parent_class(get_class()) is '.get_parent_class(get_class())."\n\n"; } static function whoami1() { echo 'This is class test'."\n"; echo 'Value of __CLASS__ is '.__CLASS__."\n"; echo 'Value of get_class() is '.get_class()."\n"; echo 'Value of get_parent_class(__CLASS__) is '.get_parent_class(__CLASS__)."\n"; echo 'Value of get_parent_class(get_class()) is '.get_parent_class(get_class())."\n\n"; } } class test2 extends test {} $test=new test; $test->whoami(); $test2=new test2; $test2->whoami(); test::whoami1(); test2::whoami1(); Results with php 5.0.* This is class test Value of __CLASS__ is test Value of get_class() is test Value of get_class($this) is test Value of get_parent_class(__CLASS__) is Value of get_parent_class(get_class()) is This is class test Value of __CLASS__ is test Value of get_class() is test Value of get_class($this) is test2 (note: -> this is what I want, only statically) Value of get_parent_class(__CLASS__) is Value of get_parent_class(get_class()) is This is class test Value of __CLASS__ is test Value of get_class() is test Value of get_parent_class(__CLASS__) is Value of get_parent_class(get_class()) is This is class test Value of __CLASS__ is test Value of get_class() is test Value of get_parent_class(__CLASS__) is Value of get_parent_class(get_class()) is So I guess the long and short of it is it still doesn't work - I know I'm being a pain :) ------------------------------------------------------------------------ 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/30423 -- Edit this bug report at http://bugs.php.net/?id=30423&edit=1