# class_exists

(PHP 4, PHP 5, PHP 7)

class_exists — 检查类是否已定义

### 说明

class_exists ( string `$class_name` [, bool `$autoload` = true ] ) : bool

检查指定的类是否已定义。

### 参数

`class_name`

  类名。名字的匹配是不分区大小写的。

`autoload`

  是否默认调用 __autoload。

### 返回值

如果由 `class_name` 所指的类已经定义，此函数返回 `TRUE`，否则返回 `FALSE`。

### 更新日志

版本 | 说明
--- | ---
5.0.2 | 不再为已定义的 interface 返回 `TRUE`。请使用 interface_exists()。

### 范例

Example #1 class_exists() 例子

    <?php
    // 使用前检查类是否存在
    if (class_exists('MyClass')) {
        $myclass = new MyClass();
    }

    ?>

Example #2 `autoload` parameter 例子

    <?php
    function __autoload($class)
    {
        include($class . '.php');

        // Check to see whether the include declared the class
        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() - 返回由已定义类的名字所组成的数组