1.5反射--php反射学习
2017-07-18 20:29
211 查看
反射-Reflection
PHP 5 具有完整的反射 API,添加了对类、接口、函数、方法和扩展进行反向工程的能力。 此外,反射 API 提供了方法来取出函数、类和方法中的文档注释。反射-Reflection
反射有什么作用
如何使用反射
1获得反射
2获取属性
3获取方法
4执行类的方法
1.反射有什么作用
反射可以用作文档生成。反射可以做hook插件功能或者动态代理
通过反射我们可以得到一个类的相关属性:
常量 Contants
属性 Property Names
方法 Method Names静态
属性 Static Properties
命名空间 Namespace
类是否为final或者abstract
2.如何使用反射
2.1获得反射
如下有一个简单的Person类<?php class Person { protected $name ; protected $age; public function getName() { return $this->name; } public static function getAge() { return $this->age; } }
我们只需要把类名’Person’传给ReflectionClass即可得到Person的反射。
$class = new ReflectionClass('Person'); $instance = $class->newInstanceArgs();
2.2获取属性
$properties = $class->getProperties(); foreach( $properties as $pro ) { echo $pro->getName()."\n"; }
输出如下:
2.3获取方法
$method = $class->getMethods(); var_dump($method);
输出如下:
2.4执行类的方法
$getName = $method[0]; $getName->invoke($instance); //或者 $instance->getName();
上述就可以执行类中的方法。
相关文章推荐
- Uchome1.2 1.5 代码学习 common.php
- Uchome1.2 &amp;amp;&amp;amp; 1.5 代码学习——common.php
- PHP学习之-1.5 字符串
- PHP的反射类ReflectionClass、ReflectionMethod学习记录
- Uchome1.2 1.5 代码学习 common.php
- php 反射学习
- 学习PHP反射(1)—— 入门
- php反射机制学习
- 学习php反射(2)——不用new方法实例化类
- 黑马程序员_学习笔记7可变参数的应用及1.5增强for的联合使用以及反射的总结
- PHP反射ReflectionClass、ReflectionMethod 学习笔记 (一)
- 学习php反射(3)——一个依赖注入的例子
- PHP学习1.5-预定义超全局数组变量
- php反射获取类及方法中的注释
- FreeBASIC学习笔记——1.5 词法约定
- PHP的Smarty学习之MVC运行流程
- php最新Laravel框架5.3视频学习
- PHP学习笔记:PDO连接MySQL
- PHP学习笔记,curl,file_get_content,include和fopen四种方法获取远程文件速度测试.
- PHP学习笔记 12 - 表单