Okay, the post title might be a little confusing.
I have this code:
class A {
public static foo() {
return get_called_class();
}
}
class B extends A {
}
class C {
public function bar() {
echo B::foo();
}
}
Output: C
WHat I want to get in foo() is the class name of B. How can I do this without changes in the class B?
Regards, Jan Oliver
PS: __ CLASS __, get_class() are not working.
Before PHP 5.3, this is not possible without hacks and is known as late static binding, a googleable term.
If you're interested, here is the SO article with answers: Faking Late Static Binding before php 5.3