ThinkPHP自动加载Loader源码分析(4)

简介: ThinkPHP自动加载Loader源码分析

三、自定义文件如何实现类的自动加载

先创建一个文件夹kaka


image.png


这时在控制器index中引入文件Kaka.php


image.png


直接进行访问,这时这个类肯定会报错,那么我们应该怎么操作一下,就可以直接访问呢!


image.png


这个时候就提现到源码的重要性了,还记得在自动加载的register函数中,加载过extend目录


image.png


这时在加一个kaka这个目录,直接进行访问一下


image.png


没毛病,直接就出来了。一切OK


image.png


在这里在聊一下关于extent的加载方式


在之前聊注册自动加载类库目录只是说明了一下只是把路径存到了$fallbackDirsPsr4属性,没有细细说,接下来就是说明这些了。


阅读源码只能是实现那然后查看那


image.png


只要是定义的类都会进去到autoload进行自动加载


同样也会进入到findFile这个方法


image.png


在findFile这个方法中可以看到这段代码,这个属性是不是很熟悉,就是自动加载extend目录时添加到$fallbackDirsPsr4属性的。


image.png


当在findFile中打印参数class时看一下数据


很清楚地可以看到test\Kaka这个类


image.png


此时在打印一下这个$fallbackDirsPsr4属性里边返回的file


image.png


然后就是使用__include_file来直接includeD:\phpstudy_pro\WWW\ThinkPHPSourceCodeAnalysis\kaka\test\Kaka.php我们定义的文件。


以上的这个自定义文件如何实现类的自动加载,并且也就是extend的加载方式


四、总结

关于类自动加载的所有流程就完成了,如有错误之处可以在评论区哦!

相关文章
|
PHP
PHP 文件加载简单使用
PHP 文件加载简单使用
70 0
|
设计模式 存储 架构师
ThinkPHP5源码阅读-类的自动加载register与autoload的实现
PHP快速入门与实战ThinkPHP是国内最流行的一款PHP框架,是国人自主研发的框架,起源于2006年,经过了十几年的不断发展。已经成为了一款被PHP广泛认可的性能开发效率兼具的利器。阅读框架源码有助于我们更好的学习语言基础,拓展设计模式等相关能力。同时很多设计与编码的思想也能更好的指导我们日常工作,尤其是想成为资深程序员或者架构师方面的同事,这是一个必须要学习的过程。今天是ThinkPHP5源码第一讲,关于类的自动加载,看看源码底层是怎么实现的。怕迷路的同学,先给个关注吧。
110 0
Yii2如何实现自动加载?底层原理是什么?
Yii2如何实现自动加载?底层原理是什么?
154 0
|
PHP
ThinkPHP自动加载Loader源码分析(2)
ThinkPHP自动加载Loader源码分析
163 0
ThinkPHP自动加载Loader源码分析(2)
|
PHP
ThinkPHP自动加载Loader源码分析(1)
ThinkPHP自动加载Loader源码分析
165 0
ThinkPHP自动加载Loader源码分析(1)
|
PHP
ThinkPHP自动加载Loader源码分析(3)
ThinkPHP自动加载Loader源码分析
325 0
ThinkPHP自动加载Loader源码分析(3)
|
PHP
ThinkPHP你必须要掌握的配置加载(5)
ThinkPHP你必须要掌握的配置加载
169 0
ThinkPHP你必须要掌握的配置加载(5)
|
PHP 容器
ThinkPHP你必须要掌握的配置加载(3)
ThinkPHP你必须要掌握的配置加载
148 0
ThinkPHP你必须要掌握的配置加载(3)
|
XML JSON 数据处理
ThinkPHP你必须要掌握的配置加载(4)
ThinkPHP你必须要掌握的配置加载
134 0
ThinkPHP你必须要掌握的配置加载(4)
|
PHP
ThinkPHP你必须要掌握的配置加载(1)
ThinkPHP你必须要掌握的配置加载
150 0
ThinkPHP你必须要掌握的配置加载(1)