thinkphp5源码浅探分析(一)基础篇

用了TP5框架有一段时间了 ,想来研究一下源代码,说干就干。
入口文件是public文件下的index.php文件

index.php.png

加载开始文件start.php
start.php.png

导入基础文件base.php并且执行应用,刚开始的时候我一直好奇下面的App类什么时候导入的
后来我仔细研究源代码总算让我知道了,原因出在base.php文件上

base.php.png

base.php 其中大多是配置代码 请注意39行代码 这是关键
导入tp5 Loader 类 并且自动加载register函数
加载Loader 的register函数.png

register.png

autoload.png

(提示:spl_autoload_register 函数是实现自动加载未定义类功能的的重要方法)

register函数的作用:是为没有include的类文件,自动找到类文件并加载。
简单的说 就是加载基础文件 ,具体逻辑请看源码


register函数自动导入的文件.png

这就不难理解App::run()->send();可以正常运行了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 理工寝室商店-微信小程序 疑问小结 当时在XAMMP下mysql目录下的bin下 php -v 不起作用.到ph...
    这个超人不会飞阿阅读 1,742评论 1 1
  • 前言 ThinkPHP(简称TP)是国人开发的比较火的php web框架,除了TP还有YII、Laravel等 T...
    hualinux阅读 985评论 0 2
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,535评论 0 17
  • # 一、框架概述 # 课程概述 1. laravel 4天(之前TP框架还是很大的区别)(国外框架) 2. 在线教...
    关进一阅读 413评论 0 0
  • 1. 一、框架概述 2. 课程概述 laravel 4天(之前TP框架还是很大的区别)(国外框架) 在线教育平台 ...
    jim1999阅读 334评论 0 0