目录
一、什么是反射
PHP反射(Reflection)是PHP中的一个非常强大的特性,它可以在程序运行的时候,获取类的相关信息(如:方法、属性、常量、注释等等),同时也可以动态的调用类的方法、属性。注解就是通过反射API去实现其代码的可执行性。
二、反射的主要类
PHP的反射功能主要是由以下几个类去实现的:
- ReflectionClass:获取类的相关信息,函数、属性、常量等;
- ReflectionMethod:类的相关方法的获取以及调用;
- ReflectionParameter:获取类的函数或者方法参数的相关信息;
- ReflectionProperty:类的相关属性
接下来我们通过一些简单的使用示例,更加直观的来带大家了解一下这几个反射类。
先定义一个手机类
//手机类
class phone {
//颜色
public $color = 'red';
//型号
public $model = 'vivo';
//设置颜色
public function setColor($color)
{
$this->color = $color;
return $this->color;
}
//设置机型
public function setModel($model)
{
$this->model = $model;
return $this->model;
}
}
1、ReflectionClass使用示例
//获取反射类
$reflection = new ReflectionClass('phone');
//获取其默认属性
$properties = $reflection->getDefaultProperties();
var_dump($properties);
//打印结果
array(2) {
'color' &#