请问大牛,tp5的自动加载类是怎么实现的啊?为什么我在任何一个控制器都能用TP框架封装的方法呢,我知道是自动加载进去的,但是是怎么实现的呢?
其实就是php的autoload。在框架一开始,调用autoload方法注册加载函数。autoload可以在使用类方法的时候,根据类的命名空间加载类(内部本身就是require),也可以加载函数文件(比如加载thinkphp 中的common.php文件)。
之所以在任何地方都能调用tp封装的方法,是因为在框架开始就加载了这些公共方法,并注册好了类的加载方式。当控制器,或模型中使用到这些方法,或类的时候,php本身就都能找到方法或类
10 回答11.1k 阅读
15 回答8.4k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
8 回答6.2k 阅读
2 回答2.6k 阅读✓ 已解决
如果你只是需要一个简单的答案,那么简单的告诉你,使用 composer[1] ,正确配置自动加载规则后,再到项目引入
/vendor/autoload.php
就好了。如果你需要了解其原理即实现,那么你直接去看
spl_autoload_register
[2] 即可。