CI框架load class方法分析

2021-10-19 06:56:03 字數 1140 閱讀 3484

load_class 這個方法是乙個實現了註冊模式的典型方法

它可以傳入3個引數,類名,類的存放位址,例項化時候需要傳入的引數

static

$_classes

=array()

;

設定靜態變數為乙個陣列,用來存放已經全部例項化過的類,static只會初始化一次,而且這個變數只會在當前函式中存在

// does the class exist? if so, we're done...if(

isset

($_classes

[$class])

)

是否已例項化,如果例項化了,就直接返回已經例項化的物件

$name

=false

;// then in the native system/libraries folder

foreach

(array(,

basepath)as

$path

)break;}

}// is the request a class extension? if so we load it tooif(

file_exists(.

$directory

.'/'

.config_item

('subclass_prefix').

$class

.'.php'))

}// did we find the class?if(

$name

===false

)

第乙個foreach優先載入系統ci字首的類檔案

第二個才是載入自己擴充套件的類檔案

is_loaded

($class);

// 儲存到已例項化的類名的靜態變數中

$_classes

[$class]=

isset

($param)?

new$name

($param):

new$name()

;return

$_classes

[$class

];

ci框架 CI超級物件

目錄結構說明 license.txt 許可協議 user guide 使用者手冊 system 框架核心檔案 index.php 入口檔案 mvc1.入口檔案。唯一乙個讓瀏覽器直接請求的指令碼檔案 2.控制器controller 協調模型和檢視 3.模型 提供資料,儲存資料 4.檢視view 只負責...

CI框架記錄

1.取得 session 資料 可以通過如下的函式來得到 session 陣列的任何資訊 this session userdata item item 是陣列裡的相對應資料的索引。例如,想要獲得 session id,你要使用如下的 session id this session userdata...

CI框架初探

2014年7月3日 17 39 35 簡易版 index.php codeigniter.php 找到控制器類檔案並include 建立例項 執行成員函式 詳細版本 瀏覽器請求 index.php 包含codeigniter.php 接下來的步驟都是在codeigniter.php中執行 包含sys...