(PHP 4, PHP 5, PHP 7, PHP 8)
class_exists — Проверяет, доступна ли автозагрузка класса или содержит ли код объявление класса
Функция проверяет, возможно ли загрузить класс автоматически или содержится ли в коде объявление класса.
classНазвание класса. Значение обрабатывается без учёта регистра.
autoloadПараметр определяет, требуется ли автоматически загружать класс, если класс ещё не загрузили.
Функция возвращает значение true, если класс, название которого указали в аргументе class,
возможно загрузить автоматически или класс с таким названием объявили в коде,
иначе возвращается значение false.
Пример #1 Пример проверки доступности класса функцией class_exists()
<?php
// Проверяем доступность класса, прежде чем создать объект
if (class_exists('MyClass')) {
$myclass = new MyClass();
}Пример #2 Пример работы функции c параметром autoload
<?php
spl_autoload_register(function ($class_name) {
include $class_name . '.php';
// Проверим, содержится ли объявление класса в файле, который подключили выражением include
if (!class_exists($class_name, false)) {
throw new LogicException("Невозможно загрузить класс: $class_name");
}
});
if (class_exists(MyClass::class)) {
$myclass = new MyClass();
}