加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

了解 PHP 反射的作用和应用技巧很有必要

发布时间:2023-10-28 11:13:39 所属栏目: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();

上述就可以执行类中的方法。

(编辑:银川站长网)

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

    推荐文章