PHPのclass_exists()関数とは?使い方とサンプルコードをわかりやすく解説
概要
PHPのclass_exists()関数は、指定したクラスがすでに定義されているかどうかをチェックするための関数です。クラスが定義済みであればTRUEを、未定義であればFALSEを返します。プラグインの読み込みや条件分岐によるクラスの動的な利用など、柔軟なプログラミングに役立ちます。
構文
class_exists(class, autoload)
パラメータ
class − 存在を確認したいクラスの名前。
autoload − デフォルトでオートロード機構(__autoload / spl_autoload_call)を呼び出すかどうか。省略した場合のデフォルト値はTRUEです。
戻り値
クラスが定義済みの場合はTRUE、それ以外の場合はFALSEを返します。
使用例
以下はclass_exists()関数を使用したサンプルコードです。
<?php
if (class_exists('Demo')) {
$demo = new Demo();
echo "Our class!";
} else {
echo "Class does not exist";
}
?>出力結果
上記のコードを実行すると、次のような出力が得られます。
Class does not exist!
補足
この例では「Demo」というクラスがまだ定義されていないため、「Class does not exist」が出力されます。逆に、事前にDemoクラスが定義されていれば、インスタンスが生成され「Our class!」と表示されます。
また、第2引数のautoloadをFALSEに設定すると、オートロード機構を介さず、その時点で明示的に定義されているクラスのみを対象にチェックを行います。現代のPHP開発では、オートローダーとしてspl_autoload_register()を使うのが一般的なので、状況に応じてこの引数を使い分けるとよいでしょう。
-
PHPのget_class_methods()関数とは?使い方をわかりやすく解説
get_class_methods()関数の概要PHPのget_class_methods()関数は、指定したクラスに定義されているメソッド名の一覧を取得するための関数です。引数に渡されたクラス(name_of_class)に定義されたすべてのメソッド名を配列として返し、エラーが発生した場合はNULLを返します。構文get_class_methods(class)パラメータname_of_class − メソッド名を取得したいクラス名を文字列またはオブジェクトで指定します。必須パラメータです。戻り値get_class_methods()関数は、name_of_c
-
PHPのis_subclass_of()関数とは?構文・パラメータ・使い方をわかりやすく解説
is_subclass_of()関数とは PHPのis_subclass_of()関数は、指定したオブジェクトがあるクラスのサブクラス(子クラス)に属しているかどうかをチェックするための関数です。オブジェクト指向プログラミングにおいて、クラス間の継承関係を確認したい場面で活用できます。 構文 is_subclass_of(object, class, string) パラメータ object − 継承関係を検証する対象となるオブジェクト class − 親クラスとして確認するクラス名 string − false を設定すると、文字列として渡されたクラス名は許可されません 戻り値 オ