【亿码酷站-编程开发教程】收集全网优质教程及源码资源!

全网优质软件开发、平面设计等教程及精品源码资源一站可得,www.ymkuzhan.com!

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

四、必会反射机制

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

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

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

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

案例

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

在这里插入图片描述在这里插入图片描述

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

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

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

打印出来的结果就是咔咔

在这里插入图片描述使用反射执行一个类中带参数的方法

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述其它的方法你们自己可以尝试尝试,因为这个反射的接口在平时基础开发是不怎么用的,这咔咔给大家介绍的都是后边在阅读源码都是可以用的到的。

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

反射到这里就简单的了解一下,至于还想了解更多的接口使用可以去官方查看对应的接口信息。

在这里插入图片描述
在这里插入图片描述

在了解完反射之后就要开始进入正题了,就需要正式进入我们的容器环节了。只有上边的基础打好接下来的容器才能更好的理解。

ThinkPHP容器之反射机制
—–文章转载自PHP中文网如有侵权请联系admin#tyuanma.cn删除

ThinkPHP容器之使用设计模式和反射实现一个简单的案例

云服务器推荐