加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP反射有什么作用,反射使用窍门有哪些

发布时间:2023-06-08 13:56:10 所属栏目:PHP教程 来源:
导读:这篇文章主要讲解了“PHP反射有什么作用,反射使用技巧有哪些”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路
这篇文章主要讲解了“PHP反射有什么作用,反射使用技巧有哪些”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。
 
PHP 5 具有完整的反射 API,添加了对类、接口、函数、方法和扩展进行反向工程的能力。 此外,反射 API 提供了方法来取出函数、类和方法中的文档注释。
 
1.反射有什么作用
 
反射可以用作文档生成。 反射可以做hook插件功能或者动态代理
 
通过反射我们可以得到一个类的相关属性:
 
常量 Contants 属性 Property Names 方法 Method Names静态 属性 Static Properties 命名空间 Namespace Person类是否为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();
 
上述就可以执行类中的方法。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!