class_exists

(PHP 4, PHP 5, PHP 7, PHP 8)

class_existsПроверяет, доступна ли автозагрузка класса или содержит ли код объявление класса

Описание

class_exists(string $class, bool $autoload = true): bool

Функция проверяет, возможно ли загрузить класс автоматически или содержится ли в коде объявление класса.

Список параметров

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();
}

Смотрите также

  • function_exists() - Возвращает true, если указанная функция определена
  • enum_exists() - Проверяет, определили ли перечисление
  • interface_exists() - Проверяет, определён ли интерфейс
  • get_declared_classes() - Возвращает массив с именами объявленных классов