class_exists

クラスが定義済みかどうかを確認する

説明

bool class_exists(string $class, bool $autoload = true)

この関数は指定したクラスが定義されているかどうかを調べます。

パラメータ

class

クラス名。大文字小文字は区別しません。

autoload

まだロードされていない場合に オートロード するかどうか。

戻り値

クラス class が定義されている場合に true、 それ以外の場合に false を返します。

例1 class_exists の例

<?php
// クラスを使用する前に、それが存在するかどうかを調べます
if (class_exists('MyClass')) {
    $myclass = new MyClass();
}

?>

例2 autoload パラメータの例

<?php
spl_autoload_register(function ($class_name) {
    include $class_name . '.php';

    // クラス宣言を含むかどうか確認する
    if (!class_exists($class_name, false)) {
        throw new LogicException("Unable to load class: $class_name");
    }
});

if (class_exists(MyClass::class)) {
    $myclass = new MyClass();
}

?>

参考

  • function_exists
  • enum_exists
  • interface_exists
  • get_declared_classes