2009-07-31 25 views
13

最上位クラスの名前を拡張クラスから取得することは可能ですか?トップレベルクラスから設定することはできません。以下の例を参照してください。ベースから「Foo」を取得したいと思います。私はFooから変数を設定することができますが、余分なステップをスキップしたいと考えています。拡張クラスからクラス名を取得

ありがとうございました。

class Base { 

    function __construct() { 

     echo '<p>get_class: '.get_class().'</p>'; 
     echo '<p>__CLASS__: '.__CLASS__.'</p>'; 

    } 

} 


class Foo extends Base { 

} 


$test = new Foo(); 

(PHP 5.2.4+)

答えて

25

用途:

get_class($this); 
+0

これを信用する人がわからない。だから、私は答えで最初のものを選ぶでしょう。 –

25

get_called_class()静的クラスまたはインスタンス化のためにget_class($this)ため。ジェイソンが言ったように、PHPで導入されました

get_called_class()

、5.3

+1

'get_called_classを()' 5.3 – jason

+5

からのみ利用可能です私はPHP 5.3が大好きです。 –

+1

PHP 5.5以降、 'get_called_class()'と 'get_class($ this)'の代わりに 'static :: class'を使うことができます。 –

3

あなたは、単に使用することができます。

get_class($this); 
関連する問題