ThinkPHP容器中反射的运用示例

这篇文章主要介绍了ThinkPHP容器中反射的运用示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了稷山免费建站欢迎大家使用!

invokeClass方法详细解析(反射的使用)

不管是阅读完上边的代码流程,还是上图的流程图,肯定都知道了最终代码会走向一个方法invokeClass,就是这个方法。

这个方法中全部都是利用反射的知识点,不会的在去看上文或者之前的文章吧!

invokeClass方法中,最重要的就是绑定参数的这个方法bindParams,这个方法里边也全部运用的是反射。

所以在容器中反射起到的作用有多大就不用在去做过多的说明了。

在这之前需要把这块说明一下,看到这个__make方法,咔咔是记忆尤深哈!

这个方法在之前学习config源码配置那一篇文章中咔咔说暂时略过,因为当时所储备的知识点和框架代码执行流程还没到说明__make这个方法的阶段。

为了就是在容器这里详细的说明__make这个方法的作用。

ThinkPHP容器中反射的运用示例

当你打印reflect这个变量的值时会返回俩个反射类的对象,如下图。

ThinkPHP容器中反射的运用示例代码$reflect->hasMethod('__make')就是判断此反射类里边是否存在__make函数

代码$method = new ReflectionMethod($class, '__make');就是执行反射类的一个方法  这里就指的是__make方法

当断点这个method就会返回俩个存在__make反射类,这里是因为断点了只有显示了俩个反射类。

这里主要谈论think\Config.

ThinkPHP容器中反射的运用示例最后一行代码$method->isPublic() && $method->isStatic()就是判断方法是不是公公共的    判断方法是不是静态的

直到运行到$args = $this->bindParams($method, $vars);这行才会进入到bindParams方法,这个方法也会在下文给出详细的解析。

感谢你能够认真阅读完这篇文章,希望小编分享的“ThinkPHP容器中反射的运用示例”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


文章题目:ThinkPHP容器中反射的运用示例
当前链接:http://bzwzjz.com/article/gicehj.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都商城网站制作 成都网站建设 成都网站建设 重庆网站建设 高端网站建设 成都网站建设 古蔺网站建设 成都网站建设公司 营销型网站建设 成都定制网站建设 四川成都网站制作 高端品牌网站建设 成都商城网站建设 成都网站设计 网站建设 LED网站设计方案 成都网站设计 企业手机网站建设 成都h5网站建设 成都网站建设 成都网站制作 手机网站制作