PHP の get_class()

PHP: get_class – Manual:



クラス内で使うときは引数を省略できる、とあります。

ところが、引数を明示した場合と省略した場合では、挙動が異なるのです。

class hoge{
    function p(){
        printf("This class is %s\n", get_class());
        printf("this class is %s\n", get_class($this));
    }
}
class fuga extends hoge{}

$t = new fuga();
$t->p();



このコードを実行すると、出力はこうなります。

This class is hoge
this class is fuga



省略すると、書いた場所のクラス名が得られるのに対し、明示すると継承後のクラス名になる。

覚えておくと、使う機会があるかもしれません。

カテゴリーPHP

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください