入口 index.php :一些路径常量定义;php
=》 CodeIgniter.php :浏览器
1. 初始化一些 system/core内的类,例如Config, Utf8, URI 和Router等,Router._set_routing 处理路由映射。框架
2. 全局函数get_instance,取controller实例引用,controller基类CI_Controller,伪单例,用get_instance可取得最后一个new出的controller实例(固然,框架内也只会new出一个controller实例)。函数
function &get_instance()
{
return CI_Controller::get_instance();
}ui
3. new出controller实例,执行对应方法。this
4. $OUT->_display(); 将页面内容输出到浏览器。对象
MVC之间如何协同工做:路由
1. controller:get
1)在构造函数内,将以前用load_class加载的对象,保存成为本身的一个属性。it
2)用$this->load->model(取load的model方法)加载一个model并保存成为本身的属性,属性名为model的名字。
3)用$this->load->view(模板名,$data)加载一个view模板,extract(data), require模板文件,echo到缓冲区,最后将缓冲区的值取回给Output。
2. model
无本身的成员变量,经过__get方法取controller的同名属性扩展。