class_exists

Checks if the class has been defined

&reftitle.description; `bool` `class_exists` `string` `class` `bool` `autoload`&true;

This function checks whether or not the given class has been defined.

&reftitle.parameters;

`class`

- The class name. The name is matched in a case-insensitive manner.

`autoload`

- Whether to autoload if not already loaded.

&reftitle.returnvalues;

Returns &true; if `class` is a defined class, &false; otherwise.

&reftitle.examples;

### `class_exists` example

    <?php
    // Check that the class exists before trying to use it
    if (class_exists('MyClass')) {
        $myclass = new MyClass();
    }

    ?>

### `autoload` parameter example

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

        // Check to see whether the include declared the class
        if (!class_exists($class_name, false)) {
            throw new LogicException("Unable to load class: $class_name");
        }
    });

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

    ?>

&reftitle.seealso;

- `function_exists`
- `enum_exists`
- `interface_exists`
- `get_declared_classes`