Yii源码分析——2、组件化与模块化

2.1、框架加载和运行流程


Yii框架加载和运行流程共分4个阶段(也许看着有点吓人,木有关系,我们先知道一个大概):

Step1:WebApp初始化与运行

1.1、       加载YiiBase.php,安装autoload方法;加载用户的配置文件;

1.2、       创建WebApp应用,并对App进行初始化,加载部分组件,最后执行WebApp

Step2:控制器初始化与运行

2.1、       加载request组件,加载Url管理组件,获得路由信息route=ControllerId/ActionId

2.2、       创建出控制器实例,并运行控制器

Step3:控制器初始化与运行

3.1、       根据路由创建出Action

3.2、       根据配置,创建出该Action的Filter;

3.3、       执行Filter和Action

Step4:渲染阶段

4.1、       渲染部分视图和渲染布局视图

4.2、       渲染注册的javascript和css


2.2、YiiBase静态类

         YiiBase为YII框架的运行提供了公共的基础功能:别名管理与对象创建管理。

在创建一个php的对象时,需要先include这个类的定义文件,然后再new这个对象。在不同环境下(开发环境/测试环境/线上环境),apache的webroot路径的配置可能不一样,所以这个类的定义文件的全路径就会不同,Yii框架通过YiiBase的别名管理来解决了这个问题。

在创建对象时,需要导入对应类的定义,经常需要使用这5个函数:include()、include_once()、require()、require_once()、set_include_path()。Yii通过使用YiiBase::import()来统一解决这个问题。下图描述了YiiBase提供“别名管理与对象创建管理”的工作原理:
。。。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值