get_parent_class

(PHP 4, PHP 5, PHP 7, PHP 8)

get_parent_classオブジェクトの親クラスの名前を取得する

説明

get_parent_class(object|string $object_or_class = ?): string|false

オブジェクトあるいはクラスの親クラスの名前を取得します。

パラメータ

object_or_class

調べたいオブジェクトあるいはクラスの名前。

戻り値

object_or_class がインスタンスあるいは名前であるクラスの親クラス名を返します。

注意:

オブジェクトが親を持たない場合や、 指定したクラスが存在しない場合は false を返します。

変更履歴

バージョン 説明
8.3.0 get_parent_class() を引数なしでコールすると、 E_DEPRECATED が発生するようになりました。 これより前のバージョンでは、クラスの内部でこの関数をコールすると、 そのクラスの名前を返していました。
8.0.0 object_or_class は、 オブジェクトまたは有効なクラス名を受け入れるようになりました。

例1 get_parent_class() の使用例

<?php

class Dad {
    function __construct()
    {
    // ロジックを実装する
    }
}

class Child extends Dad {
    function __construct()
    {
        echo "I'm " , get_parent_class($this) , "'s son\n";
    }
}

class Child2 extends Dad {
    function __construct()
    {
        echo "I'm " , get_parent_class('child2') , "'s son too\n";
    }
}

$foo = new child();
$bar = new child2();

?>

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

I'm Dad's son
I'm Dad's son too

参考

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