[英]PHP - Calling a static function from an extended class
假設我設置了三個類,如下所示:
abstract Class A {
public static function testfunction()
{
print_r('Hi');
}
}
Class B extends A {
}
Class C extends A {
}
如果我通過B或C類調用testfunction,即
B::testfunction();
有沒有辦法打印出調用它的類的名稱? 因此,例如,輸出可能是
“嗨,該函數被B類調用”
任何建議表示贊賞。
謝謝。
有沒有辦法打印出調用它的類的名稱?
是的,在php 5.3中,但在較早的版本中沒有。
請參閱: 后期靜態綁定和get_called_class
通常,可以通過使用對象實例而不是靜態類來避免此問題。 它通常是一個更好的解決方案。
在PHP 5.3中,可以在靜態測試函數中使用get_ Called_class()。 這使用后期靜態綁定。
最好的祝福,費邊
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.