CodeIgniter-内部运行流程

每当我们阅读一个优秀的框架/项目时,先要理清它的整个运行流程,才能掌握和理解它的真正设计含义。CodeIgniter(简称:CI)作为一款优秀的轻量级PHP框架,其特点:简洁又不失灵活。它的内部运作原理又是怎样的呢?

CI的入口文件为index.php,核心代码位于system/Core/CodeIgniter.php.

以下为笔者整理的CI运行流程图及部分主要模块的说明。

这里写图片描述

  1. 初始化系统运行环境
    a). 设置运行环境
    b).注册报错回调函数
    c).设置异常处理方法
    d).注册系统退出回调函数

  2. 基准测试单元(Benchmark): 用于统计各主要功能模块耗时及脚本内存使用情况。

  3. 钩子模块(hook): CI支持7种调用。

    名称调用时间
    pre_system系统运行前
    cache_override加载输出模块后
    pre_controller实例化controller前
    post_controller_constructor实例化controller后
    post_controller回调controller方法后
    display_override显示数据
    post_system运行结束
  4. 初始化url路由模块:顾名思义,解析请求的url,根据相应的路由映射规则,调用不同的controller类和方法。

  5. 安全模块:用于安全的处理输入数据,防止XSS 或 CSRF攻击。

  6. input模块:对系统全局变量(GET、POST、COOKIE等)进行检测,并进行CSRF校验。

  7. output模块: 输出web页面内容,若开启缓存,则缓存web页面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值