CodeIgniter运行流程为index.php→core/CodeIgniter.php→Router→Controller→View:入口文件设置环境并加载核心引导;引导文件初始化路由、URI、Config等;路由分发后加载控制器并执行方法;最后渲染视图并由Response类输出响应。

CodeIgniter 的运行流程其实很清晰:从 Web 服务器接收到请求开始,到框架自动加载核心组件、路由分发、执行控制器方法、渲染视图并返回响应,整个过程高度自动化且轻量。它不依赖复杂配置或反射机制,靠的是明确的引导顺序和约定优于配置的设计思想。
入口文件 index.php 启动框架
所有请求都必须经由 index.php 进入。这个文件做了几件关键事:设置环境常量(如 ENVIRONMENT)、定义系统路径、加载核心引导文件 core/CodeIgniter.php。它不直接写业务逻辑,只负责“点火”。
- 默认关闭 PHP 错误显示,生产环境会把错误记录到日志而非输出到页面
- 可自定义 FCPATH 和 SYSDIR,方便部署时调整目录结构
- 支持通过 URL 参数或服务器变量设置环境(如
CI_ENV=development)
核心引导文件完成初始化
core/CodeIgniter.php 是真正的启动中枢。它按固定顺序加载和实例化关键对象:
- 加载基础函数(common.php)和全局辅助函数(如 url_helper)
- 实例化 Router 类,解析 URI 并匹配路由规则(先检查路由配置,再 fallback 到默认格式
class/method/id) - 创建 URI 对象,提取分段参数(
$this->uri->segment(1)) - 加载并初始化 Config、Hooks、Security 等核心类
路由分发与控制器执行
路由确定后,框架动态加载对应控制器类(例如 app/Controllers/Home.php),并调用指定方法(如 index())。注意几个细节:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~