PHP class_exists() 函数用于检查给定的类是否已定义。如果给定的类已定义,则返回 true,否则返回 false。
语法
class_exists(class, autoload)
参数
class | 必填。 指定要检查的类名。名称匹配不区分大小写。 |
autoload | 可选。 指定是否默认调用__autoload。 |
返回值
返回值如果 class 是已定义的类,则为 true,否则为 false。
示例:class_exists() 示例
下面的示例显示 class_exists( ) 函数。
<?php
//检查类是否存在
//在尝试使用它之前
if (class_exists('MyClass')) {
$MyObj = new MyClass();
echo "An object of class 'MyClass' is created.";
} else {
echo "'MyClass' do not exist!.";
}
?>
上述代码的输出将是:
'MyClass' do not exist!.
示例:使用自动加载参数
示例下面展示了如何在此函数中使用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)) {
$MyObj = new MyClass();
}
?>