(PHP 4, PHP 5)
get_class — オブジェクトのクラス名を返す
指定した object のクラス名を取得します。
調べるオブジェクト。クラスの内部ではこのパラメータを省略することもできます。
オブジェクト object がインスタンス であるクラスの名前を返します。object がオブジェクトでない場合にはFALSEが返されます。
クラスの内部で object を省略すると、 そのクラスの名前を返します。
オブジェクト以外に対して get_class() をコールすると、 E_WARNING レベルのエラーが発生します。
バージョン | 説明 |
---|---|
5.3.0 以降 | NULL が object のデフォルトとなりました。 したがって、NULL を object に渡すのは何も指定しないのと同じ意味ということになります。 |
5.0.0 以降 | クラス名はその本来の表記で返されます。 |
5.0.0 以降 | object パラメータは、 オブジェクトのメソッドからコールされた場合はオプションとなります。 |
例1 get_class() の使用例
<?php
class foo {
function name()
{
echo "My name is " , get_class($this) , "\n";
}
}
// オブジェクトを生成
$bar = new foo();
// 外部からコール
echo "Its name is " , get_class($bar) , "\n";
// 内部からコール
$bar->name();
?>
上の例の出力は以下となります。
Its name is foo My name is foo
例2 get_class() のスーパークラスでの使用例
<?php
abstract class bar {
public function __construct()
{
var_dump(get_class($this));
var_dump(get_class());
}
}
class foo extends bar {
}
new foo;
?>
上の例の出力は以下となります。
string(3) "foo" string(3) "bar"