Sivo 悉见

1.11 系统流程

匿名 · 更新于 2013/12/20

我们以访问网址 http://serverName.com/index.php/User/read/id/8 为例,分两种情况来解析下系统的执行流程,首先是调试模式下面的主要执行流程:
序号 流程说明
1 用户访问网站URL地址
2 调用项目的入口文件(这里是index.php)
3 载入系统入口文件ThinkPHP.php
4 判断系统常量,如果没有定义则自动生成
5 载入系统运行时文件runtime.php并定义项目路径常量
6 加载运行时所需的文件(通过调用load_runtime_file函数)
7 后面的流程和调试模式基本相同,只是模板编译过程省略了
8 读取核心基础文件列表和加载系统别名定义文件
9 检查项目相关目录是否存在,不存在则自动生成
10 调用Think::start执行入口
11 设置异常和错误处理机制
12 注册系统自动加载机制
13 预编译当前项目
14 加载框架惯例配置文件
15 读取当前的运行模式如果不是标准模式则加载模式的配置文件(如果存在)
16 加载模式和项目配置文件
17 加载框架底层语言包文件
18 加载当前模式的系统行为定义文件
19 加载当前模式的项目行为定义文件(如果存在)
20 读取核心编译文件列表
21 载入项目公共函数文件
2<
  • 完成项目配置;
  • 创建项目函数库;(可选)
  • 开发项目需要的扩展(模式、驱动、标签库等);(可选)
  • 创建控制器类;
  • 创建模型类;(可选)
  • 创建模板文件;
  • 运行和调试、分析日志;
  • 开发和设置缓存功能;(可选)
  • 添加路由支持;(可选)
  • 安全检查;(可选 )
  • 部署到生产环境。
  • 下面我们会详细描述如何在不同的环节使用ThinkPHP来最大程度地简化开发,体验使用ThinkPHP开发的乐趣。