>php教程 >PHP视频 >PHP 매뉴얼 [3]에서 발췌 - 클래스/객체 클래스/객체 함수

PHP 매뉴얼 [3]에서 발췌 - 클래스/객체 클래스/객체 함수

黄舟
黄舟원래의
2016-12-22 10:11:001579검색

소개: 이 함수 클래스를 사용하면 클래스 및 개체 인스턴스에 대한 정보를 얻을 수 있습니다. 객체가 속한 클래스의 이름과 해당 멤버 속성 및 메서드를 얻을 수 있습니다. 이러한 함수를 사용하면 객체 클래스의 모든 멤버를 파악할 수 있을 뿐만 아니라 그 출처(예: 객체 클래스가 확장된 클래스)도 파악할 수 있습니다.

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());



PHP 5부터 이 함수는 정의된 대로(대소문자 구분) 메서드 이름을 반환합니다. PHP 4에서는 항상 소문자를 반환합니다.

get_class_vars — 클래스의 기본 속성으로 구성된 배열을 반환합니다.



배열 get_class_vars( string $class_name )



클래스의 기본 공용 속성으로 구성된 연관 배열을 반환합니다. 이 배열의 요소는 varname => value 형식으로 존재합니다.

get_class — 객체의 클래스 이름을 반환합니다.



string get_class ([ object $obj ] )



객체 인스턴스 obj가 속한 클래스 이름을 반환합니다. obj가 객체가 아니면 FALSE를 반환합니다.

get_declared_classes — 정의된 클래스의 이름 배열을 반환합니다.



배열 get_declared_classes( void )



get_declared_interfaces — 선언된 모든 인터페이스를 포함하는 배열을 반환합니다.



배열 get_declared_interfaces( void )



get_object_vars — 연관을 반환합니다. 객체 속성 배열



array get_object_vars ( object $obj )



get_parent_class — 반환 객체 또는 클래스



string get_parent_class ([ 혼합 $obj ] )



obj가 객체인 경우 객체 인스턴스 obj가 속한 클래스의 상위 클래스 이름을 반환합니다.

obj가 문자열인 경우 이 문자열로 명명된 클래스의 상위 클래스 이름을 반환합니다. 이 기능은 PHP 4.0.5에 추가되었습니다.
PHP 5부터 객체의 메소드 내에서 호출되는 경우 obj는 선택 사항입니다.

interface_exists — 인터페이스가 정의되었는지 확인



bool interface_exists ( string $interface_name [, bool $autoload ] )



이 함수는 interface_name에 지정된 인터페이스가 정의된 경우 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.

is_a — 객체가 이 클래스에 속하거나 이 클래스가 이 객체의 상위 클래스인 경우 TRUE를 반환합니다.



bool is_a ( object $object , string $class_name )



【Tianya Note】이 함수는 PHP 5에서 폐기되었으며 PHP의 유일한 유형 연산자인 instanceof로 대체되었습니다.



클래스 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)!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

관련 기사

더보기