使用版本thinkphp3.2
查看运行源码
- 入口文件(多个应用index.php) -> 公共入口文件(全站共用ThinkPHP.php)(定义常量)
- Thinkphp引导类文件(项目初始化、include核心文件、相关配置、调试配置、中间件、驱动配置等)
- App.class.php 执行应用程序(相当于路由,转发到Controller/action等操作)
- MVC操作执行
了解目录结构
- Application/ 应用目录包含一套MVC目录、自定义全局函数、配置目录等
ThinkPHP/
Runtime/ 系统运行时目录Runtime/Logs/ 应用日志目录 Runtime/Temp/ 应用缓存目录 Runtime/Data/ 应用数据目录 Runtime/Cache/ 应用模板缓存目录
Library/ 系统核心类库目录
Library/Think/ Think类库目录 Library/Behavior/ 行为类库目录 Library/Vendor/ 第三方类库目录
Common/ 应用公共目录、全局函数
Conf/ 应用配置目录
Lang/ 应用语言目录
Tpl/ 应用静态目录
Mode/ 系统应用模式目录index.php 入口文件
了解MVC架构
- Controller 接收用户请求、与Model交互、转发给View数据
- Model 响应C操作数据库
- View 接收C的数据并回显给用户信息
了解全局函数使用
Thinkphp.class.php 引导类中做相应的加载。
- 全局函数
- 项目公共函数
- 自定义函数
了解运行的核心文件
开启应用模式后
会生成~runtime.php 将核心文件的内容编译到一个文件中。不用每次都遍历引入核心文件,提高二次加载的效率
了解驱动使用
- 以配置方式加载不同驱动。
例如:数据库支持mysql、sqlite、oracle等
session 支持memcache/DB/mysqli等
优点:
上手容易,了解目录结构基本知道其运行流程及原理。
整合好一堆SDK ,第三方扩张,轻量级,快速开发。
难点:
就是要记一堆的全局函数的使用。
耦合性比较高。
不太支持平滑升级版本。基本上要重写应用。