视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
ThinkPHP容器之反射机制
2020-11-02 18:14:03 责编:小采
文档


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

四、必会反射机制

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

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

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

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

案例

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

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

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

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

打印出来的结果就是咔咔

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

在这里插入图片描述

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

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

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

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

在这里插入图片描述

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

坚持学习、坚持写博、坚持分享是咔咔从业以来一直所秉持的信念。希望在偌大互联网中咔咔的文章能带给你一丝丝帮助。我是咔咔,下期见。

下载本文
显示全文
专题