站长资讯网
最全最丰富的资讯网站

ThinkPHP容器之反射机制

反射在容器中有着你不看源码根本了解不到的重要性,一定要好好看看本文

四、必会反射机制

不知道大家有没有了解过GO的反射机制,咔咔在当时看了go的反射机制后说实话有点晕乎乎的。

但是在后来看了PHP的反射之后,不仅对go的反射有了一定的深入了解,并且对于PHP的反射也是更好的理解。

反射这一概念是在PHP5.0被引出来的,在目前使用的框架中咔咔知道的就有thinkphp和laravel都使用了反射来实现依赖注入。

对于反射的理解:其实就是从根获取根以外的东西,放在编程中讲就是只要知道一个类就可以知道这个类所有的属性和方法。

案例

这只是一个简单的实现案例,获取类的全部方法和属性。可以看下图中的打印结果跟TestReflection是否一致。

ThinkPHP容器之反射机制ThinkPHP容器之反射机制

这个也从侧面表现出现一个问题,就是会暴露出来一些本不应该暴露出来的信息。

关于反射提供的接口还有很多,这里就介绍几个常用的,其余的在框架源码中解析。

使用反射执行一个类的方法

打印出来的结果就是咔咔

ThinkPHP容器之反射机制使用反射执行一个类中带参数的方法

ThinkPHP容器之反射机制
在这里插入图片描述

使用反射执行一个类中不带参数的方法

ThinkPHP容器之反射机制其它的方法你们自己可以尝试尝试,因为这个反射的接口在平时基础开发是不怎么用的,这咔咔给大家介绍的都是后边在阅读源码都是可以用的到的。

既然了解到了反射,那么反射可以做什么事情呢!其中有一个功能点自动生成文档。

反射到这里就简单的了解一下,至于还想了解

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号