클래스/객체 get_class

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

get_class — 객체의 클래스 이름을 반환


설명

get_class(object $object = ?): string

주어진 object의 클래스 이름을 가져옵니다.


매개변수

object
테스트된 개체입니다. 이 매개변수는 클래스 내부에서 생략될 수 있습니다.

참고: PHP 7.2.0부터 object로 명시적으로 null을 전달하는 것은 더 이상 허용되지 않으며 E_WARNING을 내보냅니다. PHP 8.0.0부터 null을 사용하면 TypeError가 발생합니다.


반환 값

object가 인스턴스인 클래스의 이름을 반환합니다.

클래스 내부에서 object가 생략되면 해당 클래스의 이름이 반환됩니다.

object가 네임스페이스에 있는 클래스의 인스턴스인 경우 해당 클래스의 정규화된 네임스페이스 이름이 반환됩니다.


오류/예외

get_class()가 객체가 아닌 다른 것으로 호출되면 TypeError가 발생합니다. PHP 8.0.0 이전에는 E_WARNING 레벨 오류가 발생했습니다.

get_class()가 클래스 외부에서 인수 없이 호출되면 Error가 발생합니다. PHP 8.0.0 이전에는 E_WARNING 레벨 오류가 발생했습니다.


변경 로그

버전 설명
8.0.0 인수 없이 클래스 외부에서 이 함수를 호출하면 Error가 발생합니다. 이전에는 E_WARNING이 발생했고 함수가 false를 반환했습니다.
7.2.0 이 버전 이전에는 object의 기본값이 null이었고 값을 전달하지 않는 것과 같은 효과가 있었습니다. 이제 nullobject의 기본값으로 제거되었으며 더 이상 유효한 입력이 아닙니다.

Examples

예제 #1 get_class() 사용

                  
<?php

class foo {
    function name()
    {
        echo "My name is " , get_class($this) , "\n";
    }
}

// create an object
$bar = new foo();

// external call
echo "Its name is " , get_class($bar) , "\n";

// internal call
$bar->name();
?>
                  
                

위의 예는 다음을 출력합니다.

Its name is foo
My name is foo
                

예제 #2 슈퍼클래스에서 get_class() 사용하기

                  
<?php

abstract class bar {
    public function __construct()
    {
        var_dump(get_class($this));
        var_dump(get_class());
    }
}

class foo extends bar {
}

new foo;

?>
                  
                

위의 예는 다음을 출력합니다.

string(3) "foo"
string(3) "bar"
                

예제 #3 네임스페이스 클래스와 함께 get_class() 사용

                  
<?php

namespace Foo\Bar;

class Baz {
    public function __construct()
    {

    }
}

$baz = new \Foo\Bar\Baz;

var_dump(get_class($baz));

?>
                  
                

위의 예는 다음을 출력합니다.

string(11) "Foo\Bar\Baz"
                

기타

  • get_called_class() - "Late Static Binding" 클래스 이름
  • get_parent_class() - 개체 또는 클래스의 상위 클래스 이름을 검색합니다.
  • gettype() - 변수의 유형 가져오기
  • get_debug_type() - 디버깅에 적합한 방식으로 변수의 유형 이름을 가져옵니다.
  • is_subclass_of() - 객체에 이 클래스가 부모 중 하나인지 또는 구현하는지 확인합니다.