最近因为刚好有空闲时间就看了下关于TP5的源码,把自己的分析分享出来作为备忘以及大家借鉴一起学习,纰漏之处非常欢迎拍砖。
首先说下TP加载总结构文件:
[localserver/index.php] //入口文件 引导执行tp 核心框架文件
[localserver/thinkphp/base.php] //定义一些系统级常量,注册自动加载,注册错误异常机制
-[localserver/thinkphp/library/think/Loader.php] //注册自动加载(注册命名空间定义namespace、类映射classmap、composer自动加载、extend目录自动加载 )
-[localserver/thinkphp/library/think/Error.php] //错误异常处理包括级别
-[localserver/thinkphp/convention.php] //应用基础的常规的一些配置定义
[localserver/thinkphp/App.php] //核心执行程序,通过请求(Request)进行路由检测、调度、执行
-[localserver/thinkphp/library/think/Request.php] //看名字就知道类作用了
*-[localserver/{app}/{module}/init.php] //加载模块初始化文件,当然如果你定义了的话
*-[localserver/{app}/{module}/config.{conf_ext}] //如果init文件不存在则直接加载该配置(alias、tags、common、lang等)
*-[localserver/thinkphp/lang/{lang_type}.php] //如果开启了多语言的话,加载当前语言环境相关文件
*-[localserver/thinkphp/library/think/Route.php] //看名字就知道类作用了,后续章节详解
PS:带星号为未必存在文件,{var}表示根据你项目不同或当前应用处理环境不同而变化。
后续章节会对涉及文件以及必要文件进行源码分析讲解:
Loader、Request、Rout、Controller、Model、Db、Cache
网友评论