PHP의 Reflection API에 대한 자세한 설명

*文
풀어 주다: 2023-03-18 15:30:01
원래의
1514명이 탐색했습니다.

이 글에서는 주로 PHP Reflection API를 소개하며 Reflection 클래스, ReflectionException 클래스, ReflectionFunction 클래스, ReflectionParameter 클래스, ReflectionClass 클래스, ReflectionMethod 클래스 등에 대해 설명합니다. 그것이 모두에게 도움이 되기를 바랍니다.

PHP Reflection API는 PHP5에서만 사용할 수 있는 새로운 기능으로, 주석을 포함하여 클래스, 메서드, 속성, 매개변수 등에 대한 자세한 정보를 내보내거나 추출하는 데 사용됩니다.

PHP Reflection API에는 다음이 포함됩니다.

class Reflection { } interface Reflector { } class ReflectionException extends Exception { } class ReflectionFunction implements Reflector { } class ReflectionParameter implements Reflector { } class ReflectionMethod extends ReflectionFunction { } class ReflectionClass implements Reflector { } class ReflectionObject extends ReflectionClass { } class ReflectionProperty implements Reflector { } class ReflectionExtension implements Reflector { }
로그인 후 복사

특정 API 설명:

①Reflection 클래스

로그인 후 복사

②ReflectionException 클래스

이 클래스는 표준 클래스를 상속하며 특별한 메소드가 없습니다. 또는 속성.

3ReflectionFunction 클래스

로그인 후 복사

4ReflectionParameter 클래스:

로그인 후 복사

⑤ReflectionClass 클래스:

getModifiers())进一步读取 public bool isInstance(stdclass object) //测试传入的对象是否为该类的一个实例 public stdclass newInstance(mixed* args) //创建该类实例 public ReflectionClass getParentClass() //取得父类 public bool isSubclassOf(ReflectionClass class) //测试传入的类是否为该类的父类 public array getStaticProperties() //取得该类的所有静态属性 public mixed getStaticPropertyValue(string name [, mixed default]) //取得该类的静态属性值,若private,则不可访问 public void setStaticPropertyValue(string name, mixed value) //设置该类的静态属性值,若private,则不可访问,有悖封装原则 public array getDefaultProperties() //取得该类的属性信息,不含静态属性 public bool isIterateable() public bool implementsInterface(string name) //测试是否实现了某个特定接口 public ReflectionExtension getExtension() public string getExtensionName() } ?>
로그인 후 복사

⑥ReflectionMethod 클래스:

로그인 후 복사

7ReflectionProperty 클래스:

로그인 후 복사

⑧ReflectionExtension class

로그인 후 복사

사용 예:

sex = "male"; } public function action(){ echo "来自http://www.jb51.net的测试"; } } $class = new ReflectionClass('Person'); //获取属性 foreach($class->getProperties() as $property) { echo $property->getName()."\n"; } //获取方法 print_r($class->getMethods()); $p1 = new Person(); $obj = new ReflectionObject($p1); //获取对象和类的属性 print_r($obj->getProperties());
로그인 후 복사

분명히 위 코드의 객체와 클래스에서 얻은 속성은 다릅니다. 이는 객체가 다음과 같기 때문입니다. 인스턴스화를 구성하므로 성별 속성을 추가하면 PHP Reflection은 실제로 많은 유용한 정보를 얻을 수 있습니다.

관련 권장사항:

새내기 PHP API 첫 경험 php api 문서 php api 인터페이스 개발 php 웹 ap

Turing Robot php API_PHP 튜토리얼 소개

나만의 PHP 프레임워크 구축 경험(2) php api 프레임워크 php 위챗 개발 프레임워크 php ci 프레임워크 강의

위 내용은 PHP의 Reflection API에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!