라이브러리
[PHP] class_exists - 클래스가 정의되었는지 확인합니다.
PHP Class_exists() 함수
PHP의 `class_exists()` 함수는 특정 클래스가 존재하는지 확인하는 데 사용됩니다. 이 함수는 클래스 이름을 인수로 받아서, 해당 클래스가 로드되어 있는지 확인합니다.
# 사용법
`class_exists(string $class_name, bool $autoload = false)`
* `$class_name`: 확인하려는 클래스 이름입니다.
* `$autoload`: 옵션입니다. 기본값은 `false`입니다. 만약 `true`로 설정하면, 클래스가 로드되지 않았을 때 자동으로 로드합니다.
# 예제
#hostingforum.kr
php
// 예제 1: 클래스가 존재하는지 확인
class MyClass {
public function sayHello() {
echo "Hello, World!";
}
}
if (class_exists('MyClass')) {
$obj = new MyClass();
$obj->sayHello();
} else {
echo "MyClass 클래스가 존재하지 않습니다.";
}
// 예제 2: 클래스가 로드되지 않았을 때 자동으로 로드
if (!class_exists('MyClass')) {
require_once 'MyClass.php';
if (!class_exists('MyClass')) {
echo "MyClass 클래스를 로드할 수 없습니다.";
} else {
$obj = new MyClass();
$obj->sayHello();
}
} else {
$obj = new MyClass();
$obj->sayHello();
}
# 예제 3: 인터페이스와 추상 클래스
#hostingforum.kr
php
// 인터페이스
interface MyInterface {
public function sayHello();
}
// 추상 클래스
abstract class MyAbstractClass {
public abstract function sayHello();
}
// 클래스
class MyClass implements MyInterface, MyAbstractClass {
public function sayHello() {
echo "Hello, World!";
}
}
if (class_exists('MyClass')) {
$obj = new MyClass();
$obj->sayHello();
} else {
echo "MyClass 클래스가 존재하지 않습니다.";
}
if (interface_exists('MyInterface')) {
echo "MyInterface 인터페이스가 존재합니다.";
} else {
echo "MyInterface 인터페이스가 존재하지 않습니다.";
}
if (class_exists('MyAbstractClass')) {
echo "MyAbstractClass 추상 클래스가 존재합니다.";
} else {
echo "MyAbstractClass 추상 클래스가 존재하지 않습니다.";
}
# 예제 4: 트레이트
#hostingforum.kr
php
// 트레이트
trait MyTrait {
public function sayHello() {
echo "Hello, World!";
}
}
// 클래스
class MyClass {
use MyTrait;
}
if (class_exists('MyClass')) {
$obj = new MyClass();
$obj->sayHello();
} else {
echo "MyClass 클래스가 존재하지 않습니다.";
}
# 예제 5: 상속
#hostingforum.kr
php
// 부모 클래스
class ParentClass {
public function sayHello() {
echo "Hello, Parent!";
}
}
// 자식 클래스
class ChildClass extends ParentClass {
public function sayHello() {
parent::sayHello();
echo "Hello, Child!";
}
}
if (class_exists('ChildClass')) {
$obj = new ChildClass();
$obj->sayHello();
} else {
echo "ChildClass 클래스가 존재하지 않습니다.";
}
# 예제 6: autoload
#hostingforum.kr
php
// autoload.php
spl_autoload_register(function ($class) {
require_once $class . '.php';
});
// MyClass.php
class MyClass {
public function sayHello() {
echo "Hello, World!";
}
}
// autoload.php
if (!class_exists('MyClass')) {
echo "MyClass 클래스를 로드할 수 없습니다.";
} else {
$obj = new MyClass();
$obj->sayHello();
}
이 예제들은 `class_exists()` 함수의 사용법과 다양한 예제를 포함하고 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.