CodeIgniter框架介绍

入口 index.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();
}

3. new出controller实例,执行对应方法。

4. $OUT->_display(); 将页面内容输出到浏览器。

MVC之间如何协同工作:

1. controller:

1)在构造函数内,将之前用load_class加载的对象,保存成为自己的一个属性。

2)用$this->load->model(取load的model方法)加载一个model并保存成为自己的属性,属性名为model的名字。

3)用$this->load->view(模板名,$data)加载一个view模板,extract(data), require模板文件,echo到缓冲区,最后将缓冲区的值取回给Output。

2. model

无自己的成员变量,通过__get方法取controller的同名属性扩展。

原文地址:https://www.cnblogs.com/yunlong/p/3723699.html