簡體   English   中英

從靜態函數獲取子類名稱php

[英]Get child class name php from static function

在php中我有一個ROOT類,所有其他類都繼承該類。

abstract class ROOT{
    public static function getClass(){

    }
}

我希望該函數返回從該類繼承的對象的類(名稱)。 因此,如果我創建一個對象Tree(擴展ROOT)並在其上調用getClass,它應該說“Tree”

函數get_class()僅適用於對象,因此不能在靜態函數中使用。 有沒有辦法實現這個目標?

使用get_called_class()代替get_class() get_called_class()

http://www.php.net/manual/en/function.get-called-class.php

abstract class ROOT {
    public static function getClass() {
        return get_called_class();
    }
}
class Tree extends ROOT {
}

$Tree = new Tree();
echo $Tree->getClass();  // Outputs "Tree"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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