PHP 反射(Reflection)使用实例
getName); print_r($rm-isPublic()); print_r($rm-getDocComment()); ReflectionObject 类 用于获取对象相关信息 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 class Person { public $name; public function __construct($name) { $this-name = $name; } public function getName() { return $this-name; } public function setName($v) { $this-name = $v; } } $a = new Person(a); $ro = new ReflectionObject($a); print_r($ro-getMethods()); ReflectionParameter 获取函数或方法参数的相关信息, were setting this private */ private $_allowDynamicAttributes = false; /** type=primary_autoincrement */ protected $id = 0; /** type=varchar length=255 null */ protected $name; /** type=text null */ protected $biography; public function getId() { return $this-id; } public function setId($v) { $this-id = $v; } public function getName() { return $this-name; } public function setName($v) { $this-name = $v; } public function getBiography() { return $this-biography; } public function setBiography($v) { $this-biography = $v; } } //导出类 ReflectionClass::export(Person); $r = new ReflectionClass(Person); //获取所有属性 print_r($r-getProperties()); /** * 获取指定属性 * ReflectionProperty::IS_STATIC * ReflectionProperty::IS_PUBLIC * ReflectionProperty::IS_PROTECTED * ReflectionProperty::IS_PRIVATE */ print_r($r-getProperties(ReflectionProperty::IS_PRIVATE)); //获取注释 print_r($r-getProperty(id)-getDocComment()); //获取方法 print_r($r-getMethods()); ReflectionExtension 类用于获取扩展相关信息 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 $re = new ReflectionExtension(Reflection); print_r($re-getClasses()); //扩展的所有类 print_r($re-getClassNames()); //扩展所有类名 $dom = new ReflectionExtension(mysql); print_r($dom-getConstants());//扩展常量 print_r($dom-getDependencies());//该扩展依赖 print_r($dom-getFunctions());//扩展方法 print_r($dom-getINIEntries());//扩展ini信息 print_r($dom-getName());//扩展名称 print_r($dom-getVersion());//扩展版本 print_r($dom-info());//扩展信息 print_r($dom-isPersistent());//是否是持久扩展 print_r($dom-isTemporary()); //是否是临时扩展 ReflectionFunction类 用户获取函数相关信息 ? 1 2 3 4 5 $rf = new ReflectionFunction(array_merge); foreach($rf-getParameters() as $item) { echo $item . PHP_EOL; } ReflectionMethod类用户获取方法相关信息 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 class Person { public $name; /** * get name of person */ public function getName() { return $this-name; } public function setName($v) { $this-name = $v; } } $rm = new ReflectionMethod(Person, ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 class Person { /** 测试 */ public $name; public function __construct($name) { $this-name = $name; } public function getName() { return $this-name; } public function setName($v) { $this-name = $v; } } $p = new ReflectionProperty(Person, ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 class Person { public $name; public function __construct($name) { $this-name = $name; } public function getName() { return $this-name; } public function setName($v) { $this-name = $v; } } $p = new ReflectionParameter(array(Person, setName), 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 ?php class Person { /** * For the sake of demonstration, 0); print_r($p-getPosition()); //0 print_r($p-getName()); //v ReflectionProperty 获取类的属性的相关信息。
name); print_r($p-getDocComment()); ,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/jiaob/php/12037.shtml
相关文章
热门TAG
命令 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 技巧 权重 服务器 网站流量 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows 蜘蛛 搜索引擎 网站收录 JSP 实例解析最新文章
-
PHP异常处理浅析
时间:2021-01-06
-
PHP嵌套输出缓冲代码实例
时间:2021-01-06
-
PHP的伪随机数与真随机数
时间:2021-01-04
-
php实现的日历程序
时间:2020-12-29
-
PHP实现链式操作的核心思
时间:2020-12-29
-
PHP中把错误日志保存在系
时间:2020-12-29
-
Destoon启用https 后台登录不
时间:2020-12-23
-
2019年最好用的10个php开发
时间:2020-12-23
热门文章
-
2019年最好用的10个php开发工具推荐
时间:2020-12-23
-
PHP的伪随机数与真随机数详解
时间:2021-01-04
-
PHP中把错误日志保存在系统日志中(Win
时间:2020-12-29
-
Destoon启用https 后台登录不了
时间:2020-12-23
-
php实现的日历程序
时间:2020-12-29
-
PHP实现链式操作的核心思想
时间:2020-12-29
-
php工作前景怎么样
时间:2020-12-19
-
10个免费的PHP编辑器/开发工具推荐
时间:2020-12-23
-
什么是PHP?其优势有哪些?
时间:2020-12-23
-
值得关注的十大高效PHP开发工具
时间:2020-12-23
