class_exists
(PHP 4, PHP 5)
class_exists — クラスが定義済みかどうかを確認する
説明
bool class_exists
( string
$class_name
[, bool $autoload = true
] )この関数は指定したクラスが定義されているかどうかを調べます。
返り値
クラス class_name が定義されている場合に TRUE、
それ以外の場合に FALSE を返します。
変更履歴
| バージョン | 説明 |
|---|---|
| 5.0.2 |
定義済みのインターフェイスに対しては TRUE を返さないようになりました。
インターフェイスについては interface_exists() を使用します。
|
| 5.0.0 |
autoload パラメータが追加されました。
|
例
例1 class_exists() の例
<?php
// クラスを使用する前に、それが存在するかどうかを調べます
if (class_exists('MyClass')) {
$myclass = new MyClass();
}
?>
例2 autoload パラメータの例
<?php
function __autoload($class)
{
include($class . '.php');
// クラス宣言を含むかどうか確認する
if (!class_exists($class, false)) {
trigger_error("Unable to load class: $class", E_USER_WARNING);
}
}
if (class_exists('MyClass')) {
$myclass = new MyClass();
}
?>
参考
- function_exists() - 指定した関数が定義されている場合に TRUE を返す
- interface_exists() - インターフェイスが宣言されているかどうかを確認する
- get_declared_classes() - 定義済のクラスの名前を配列として返す