zend_framework的autoloader

php在5.1.2之後加入autoload的功能,目的是為了使用放在其他檔案的類別來建立物件時,省去includerequire的步驟,讓php自行載入類別檔案。這個載入的過程,使用者可以自行設計,一般可以透過建立__autoload()函數來建立自動載入的的過程,而這個函數接受一個參數,就是類別名稱。例如:

function __autoload($classname){

require $classname . “.php”;

}

當使用者新建一個物件且該類別尚未存在,php就會自動執行__autoload(),並將該類別名稱傳給__autoload

當瞭解這個自PHP 5.1.2之後加入的功能之後,再來學zend_framework的autoloader就不會眼冒金星了。

預設情況下,zend_framework是使用Zend_Loader::LoadClass作為autoloader,它會搜尋include_path裡是否具有需要的類別,而Zend_Framework裡的類別名稱實際上會對應到系統的資料夾名稱,當Zend_Loader::LoadClass載入類別名稱時,它會將類別名稱裡的“_”轉換為作業系統的資料夾的區隔字元,例如:\/

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Proudly using Dynamic Headers by Nicasio WordPress Design