소개: 이 함수 클래스를 사용하면 클래스 및 개체 인스턴스에 대한 정보를 얻을 수 있습니다. 객체가 속한 클래스의 이름과 해당 멤버 속성 및 메서드를 얻을 수 있습니다. 이러한 함수를 사용하면 객체 클래스의 모든 멤버를 파악할 수 있을 뿐만 아니라 그 출처(예: 객체 클래스가 확장된 클래스)도 파악할 수 있습니다.
class_exists — 클래스가 정의되었는지 확인
bool class_exists ( string $class_name [, bool $autoload ] )
이 함수는 class_name이 가리키는 클래스가 이미 정의되어 있으면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.
class_exists()는 기본적으로 __autoload를 호출하려고 시도합니다. class_exists()가 __autoload를 호출하는 것을 원하지 않으면 autoload 매개변수를 FALSE로 설정할 수 있습니다.
get_class_methods — 클래스 메소드 이름의 배열을 반환합니다.
배열 get_class_methods(혼합 $class_name)
PHP에서 시작 4.0.6에서는 class_name 대신 객체 자체를 지정할 수 있습니다. 즉,
$class_methods = get_class_methods('myclass') // 또는
$ class_methods = get_class_methods(new myclass());
배열 get_class_vars( string $class_name )
string get_class ([ object $obj ] )
배열 get_declared_classes( void )
배열 get_declared_interfaces( void )
array get_object_vars ( object $obj )
string get_parent_class ([ 혼합 $obj ] )
obj가 문자열인 경우 이 문자열로 명명된 클래스의 상위 클래스 이름을 반환합니다. 이 기능은 PHP 4.0.5에 추가되었습니다.
PHP 5부터 객체의 메소드 내에서 호출되는 경우 obj는 선택 사항입니다.
bool interface_exists ( string $interface_name [, bool $autoload ] )
bool is_a ( object $object , string $class_name )
클래스 A { }
클래스 B { }
$thing = new A
if ($thing 인스턴스 오브 A; ) {
echo 'A' }
if ($thing 인스턴스of B) {
echo 'B' }
is_subclass_of — 이 객체가 이 클래스의 하위 클래스인 경우 TRUE를 반환합니다.
bool is_subclass_of ( object $object , string $class_name )
method_exists — 클래스 메소드가 존재하는지 확인
bool method_exists ( object $object , string $method_name )
property_exists — 객체나 클래스에
bool property_exists (혼합 $class, 문자열 $property)
【Tianya 참고】프라이빗과 같이 '현재 범위' 내에서 속성에 액세스할 수 없는 경우에도 FALSE가 반환됩니다. 예:
class myClass {
public $mine;
비공개 $xpto;
static function test() {
// true, 여기에서 액세스할 수 있습니다.
var_dump(property_exists('myClass', 'xpto'));
}
}
var_dump(property_exists('myClass', 'mine')); //true
var_dump(property_exists(new myClass, 'mine')); //true
var_dump(property_exists('myClass', 'xpto')); //false, 공개되지 않음
myClass::test();
?>
以上就是摘自PHP手册[3] – 클래스/객체 类/对象函数的内容,更多敳关容请关注PHP中文网(www.php.cn)!