入口 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的同名屬性擴展。