本文主要介紹了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類別
該類別繼承標準類別,沒有特殊方法和屬性。③ReflectionFunction類別
#
④ReflectionParameter類別:
#
⑤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() } ?>
#
⑦ReflectionProperty類別:
⑧ReflectionExtension類別
#使用範例:
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());
#很明顯上面程式碼中物件和類別所取得的屬性是不同的,這是因為物件進行了contruct實例化,因此多了sex屬性,PHP Reflection確實能夠取得許多有用的資訊。
相關推薦:
小白php API初步體驗php api文檔php api介面開發php web ap
#建造自己的PHP框架心得(二) php api 框架php微信發展框架php ci框架教#
以上是PHP之Reflection API詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!