클래스/객체 class_exists
(PHP 4, PHP 5, PHP 7, PHP 8)
class_exists — 클래스가 정의되었는지 확인
설명
class_exists(string $class
, bool $autoload
= true
): bool
이 함수는 주어진 클래스가 정의되었는지 여부를 확인합니다.
매개변수
class
- 클래스 이름입니다. 이름은 대소문자를 구분하지 않고 일치합니다.
autoload
- 기본적으로 __autoload를 호출할지 여부입니다.
반환 값
class
가 정의된 클래스이면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
Examples
예제 #1 class_exists() 예제
<?php
// Check that the class exists before trying to use it
if (class_exists('MyClass')) {
$myclass = new MyClass();
}
?>
예제 #2 autoload
매개변수 예
<?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();
}
?>
기타
- function_exists() - 주어진 함수가 정의되면 true를 반환합니다.
- enum_exists() - enum이 정의되었는지 확인
- interface_exists() - interface가 정의되었는지 확인
- get_declared_classes() - 정의된 클래스의 이름이 있는 배열을 반환합니다.