Ben bir ana sınıfı ve bir çocuk sınıf var. Bir üst sınıfta ben (bir fonksiyon f tanımlamak) ve bu işlevi denilen çocukların yöntemin üst sınıf ve adını genişletilmiş çocuklar sınıfın bunun adına yazdırmak istiyorum. Ben bunu böyle yapın.
abstract class ParentClass {
public function f() {
$backtrace = debug_backtrace();
echo "Class: " . $backtrace[1]['class']) . "\n";
echo "Function: " . $backtrace[1]['function'];
}
}
class ChildrenClass extends ParentClass {
public function some_func() {
$this->f();
}
}
$o = new ChildrenClass;
$o->some_func();
Ve bana doğru çıkışları:
Class: ChildrenClass
Function: some_func
The question is: is my solution appropriate or there is a better way to achieve this?
I tried to use __CLASS__ and __FUNCTION__ but it always gives me a classname and function name of the parent class.