PHPのget_parent_class()関数の使い方を解説
PHPのget_parent_class()関数は、オブジェクトまたはクラス名をもとに、その親クラスの名前を取得するための関数です。クラスの継承関係をプログラムの中で動的に確認したい場合に役立ちます。
構文
get_parent_class(object)
パラメータ
object − 親クラスを調べたい対象となるオブジェクト、またはクラス名。
戻り値
get_parent_class()関数は、指定されたクラス(またはオブジェクト)の親クラス名を文字列として返します。親クラスが存在しない場合はfalseが返されます。
使用例
以下は、get_parent_class()関数を使って親クラス名を取得するサンプルコードです。
<?php
class Demo {
function Demo() {
}
}
class Demo2 extends Demo {
function Demo2() {
echo "I'm " , get_parent_class($this) , "'s son \n";
}
}
class Demo3 extends Demo {
function Demo3() {
echo "I'm " , get_parent_class('Demo2') , "'s son too \n";
}
}
$one = new Demo2();
$two = new Demo3();
?>実行結果
I'm Demo's son I'm Demo's son too
解説
この例では、Demo2クラスとDemo3クラスがどちらもDemoクラスを継承しています。
- Demo2のコンストラクタでは、
get_parent_class($this)のようにオブジェクト自身を引数として渡し、その親クラス名「Demo」を取得しています。 - Demo3のコンストラクタでは、
get_parent_class('Demo2')のようにクラス名を文字列で直接指定しても、同じように親クラス名を取得できることがわかります。
このように、get_parent_class()はオブジェクトとクラス名のどちらを渡しても利用でき、継承構造のデバッグや動的なクラス操作を行う際に非常に便利な関数です。
-
PHPのclass_exists()関数とは?使い方とサンプルコードをわかりやすく解説
概要PHPのclass_exists()関数は、指定したクラスがすでに定義されているかどうかをチェックするための関数です。クラスが定義済みであればTRUEを、未定義であればFALSEを返します。プラグインの読み込みや条件分岐によるクラスの動的な利用など、柔軟なプログラミングに役立ちます。構文class_exists(class, autoload)パラメータclass − 存在を確認したいクラスの名前。autoload − デフォルトでオートロード機構(__autoload / spl_autoload_call)を呼び出すかどうか。省略した場合のデフォルト値はTRUE
-
PHPのarray_fill_keys()関数の使い方をわかりやすく解説
PHPのarray_fill_keys()関数は、指定したキーの配列と値を受け取り、すべてのキーに同じ値を割り当てた新しい配列を生成して返します。複数のキーに対して同じ初期値を設定したい場合に、ループ処理を書かずに簡潔に記述できる便利な関数です。 構文 array_fill_keys(keys, values) パラメータ keys − 生成される配列のキーとして使用する値を格納した配列。 values − 各キーに埋め込む値。文字列や数値、配列など任意の型を指定できます。 戻り値 array_fill_keys()関数は、指定された値で埋められた配列を返します