Yii源码分析——2、组件化与模块化
来源:互联网 发布:申报教学软件 编辑:程序博客网 时间:2024/05/21 17:02
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提供“别名管理与对象创建管理”的工作原理:。。。。。
- Yii源码分析——2、组件化与模块化
- Yii源码分析——yii整个工作流程
- Yii源码分析——1、简介
- Yii源码分析——CComponent
- Yii源码分析——collections
- Elasticsearch源码分析之一——使用Guice进行依赖注入与模块化系统
- Elasticsearch源码分析之一——使用Guice进行依赖注入与模块化系统
- Elasticsearch源码分析之一——使用Guice进行依赖注入与模块化系统
- Elasticsearch源码分析之一——使用Guice进行依赖注入与模块化系统
- 我理解的模块化与组件化
- 模块化与组件话
- Flume架构与源码分析-核心组件分析-2
- Flume架构与源码分析-核心组件分析-2
- yii源码分析流程
- iOS 组件化,插件化,模块化设计思路分析
- iOS 组件化,插件化,模块化设计思路分析
- Yii密码加密与验证(源码分析)
- Android模块化与组件化--多模块区分编译
- Web开发中需要了解的东西
- 智力题1
- Ubuntu7.10 vi/vim搭建超级c/c++编程环境
- 程序员技术练级攻略
- Unable to start debugging on the Web Server vs中
- Yii源码分析——2、组件化与模块化
- java 二进制文件解析(方法)
- Android之AIDL(进程间通信)
- [ZJOI2010]network 网络扩容
- JAVA中文问题及最优解法
- 优秀程序员的十个习惯
- 偷了世界的程序员
- js 的动态效果
- 总有人给我突如其来的感动....