簡體   English   中英

PHP-從擴展類調用靜態函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM