|
很多開(kāi)發(fā)者寫(xiě)面向?qū)ο蟮?a href=/pingce/yingyong/ target=_blank class=infotextkey>應(yīng)用程序時(shí)對(duì)每個(gè)類(lèi)的定義建立一個(gè) php 源文件。一個(gè)很大的煩惱是不得不在每個(gè)腳本(每個(gè)類(lèi)一個(gè)文件)開(kāi)頭寫(xiě)一個(gè)長(zhǎng)長(zhǎng)的包含文件列表。
在 php 5 中,不再需要這樣了。可以定義一個(gè) __autoload 函數(shù),它會(huì)在試圖使用尚未被定義的類(lèi)時(shí)自動(dòng)調(diào)用。通過(guò)調(diào)用此函數(shù),腳本引擎在 php 出錯(cuò)失敗前有了最后一個(gè)機(jī)會(huì)加載所需的類(lèi)。
本例嘗試分別從 MyClass1.php 和 MyClass2.php 文件中加載 MyClass1 和 MyClass2 類(lèi)。
function __autoload($class_name) {
require_once $class_name . '.php';
}
$obj = new MyClass1();
$obj2 = new MyClass2();
注意:
在 __autoload 函數(shù)中拋出的異常不能被 catch 語(yǔ)句塊捕獲并導(dǎo)致致命錯(cuò)誤。
php技術(shù):php基礎(chǔ)知識(shí):類(lèi)與對(duì)象(2) 自動(dòng)加載對(duì)象,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。