get_called_class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

get_called_class"遅延静的束縛" のクラス名

説明

get_called_class(): string

staticメソッドのコール元のクラス名を取得します。

パラメータ

この関数にはパラメータはありません。

戻り値

クラス名を返します。

エラー / 例外

get_called_class() がクラスの外部からコールされた場合、 Error がスローされます。PHP 8.0.0 より前のバージョンでは、 E_WARNING が発生していました。

変更履歴

バージョン説明
8.0.0 この関数をクラスの外部からコールした場合に、 Error がスローされるようになりました。 これより前のバージョンでは、E_WARNING が発生し、false を返していました。

例1 get_called_class() の使用法

<?php

class foo {
static public function
test() {
var_dump(get_called_class());
}
}

class
bar extends foo {
}

foo::test();
bar::test();

?>

上の例の出力は以下となります。

string(3) "foo" string(3) "bar"

参考

  • get_parent_class() - オブジェクトの親クラスの名前を取得する
  • get_class() - オブジェクトのクラス名を返す
  • is_subclass_of() - あるオブジェクトが指定したクラスのサブクラスに属するか (あるいは指定したインターフェイスを実装しているか) どうかを調べる
To Top