함수 get_called_class
함수 get_called_class는 정적 메소드가 호출된 컨텍스트의 클래스 이름을 반환합니다. 이는 메소드가 정확히 어느 클래스에서 호출되었는지 확인해야 할 때 유용합니다.
구문
get_called_class();
예시
두 개의 클래스를 생성하고 자식 클래스에서 메소드를 호출해 보겠습니다:
<?php
class ParentClass {
public static function test() {
return get_called_class();
}
}
class ChildClass extends ParentClass {}
echo ChildClass::test();
?>
코드 실행 결과:
'ChildClass'
예시
부모 클래스에서 함수가 호출될 때의 동작을 확인해 보겠습니다:
<?php
class A {
public static function who() {
return get_called_class();
}
}
class B extends A {}
echo A::who();
echo "\n";
echo B::who();
?>
코드 실행 결과:
'A'
'B'
예시
필요한 클래스의 객체를 생성하기 위해 함수를 사용하는 예시입니다:
<?php
class Factory {
public static function create() {
$class = get_called_class();
return new $class;
}
}
class Product extends Factory {}
$obj = Product::create();
echo get_class($obj);
?>
코드 실행 결과:
'Product'
함께 보기
-
객체의 클래스를 반환하는 함수 get_class,
-
부모 클래스를 반환하는 함수 get_parent_class,