get_parent_class

関数の概要

get_parent_classは、PHPでオブジェクトまたはクラス名からその親クラスの名前を取得するための組み込み関数です。継承関係を確認したい場合や、親クラスの情報を動的に処理したい場合に便利です。

パラメータの説明

  • object_or_class(省略可能): 対象となるオブジェクトまたはクラス名を指定します。省略すると、現在のクラスの親クラスが返されます。

戻り値

指定したクラスまたはオブジェクトの親クラス名を文字列で返します。もし親クラスが存在しない場合は false を返します。

使用例

基本的な使い方(オブジェクトを指定)

class Animal {}
class Dog extends Animal {}

$dog = new Dog();
echo get_parent_class($dog); // 出力: Animal

この例では、Dogクラスの親クラス名Animalが取得できます。

クラス名を直接指定する場合

class Vehicle {}
class Car extends Vehicle {}

echo get_parent_class('Car'); // 出力: Vehicle

クラス名文字列を渡すことで、親クラス名を取得することも可能です。

親クラスが存在しない場合の挙動

class Base {}

var_dump(get_parent_class('Base')); // 出力: bool(false)

親クラスがない場合は false を返しますので、条件分岐で利用できます。

関連する関数

  • class_parents – 指定クラスの全ての親クラスを配列で取得
  • is_subclass_of – クラスが別のクラスの子孫(サブクラス)かどうか判定
  • get_class – オブジェクトのクラス名を取得

まとめ

get_parent_classはオブジェクト指向プログラミングで継承関係を調べる際に非常に便利な関数です。オブジェクトでもクラス名でも利用可能で、親クラス名の取得に特化しています。親クラスが存在しない場合は false を返すため、親クラスの有無を容易に判定できます。実務でも親クラス依存の処理や動的クラス操作時に重宝するため、ぜひ覚えておきましょう。