php基礎(chǔ)知識:類與對象(2) 自動加載對象
更新時間:2006年12月13日 00:00:00 作者:
自動加載對象:
很多開發(fā)者寫面向?qū)ο蟮膽?yīng)用程序時對每個類的定義建立一個 PHP 源文件。一個很大的煩惱是不得不在每個腳本(每個類一個文件)開頭寫一個長長的包含文件列表。
在 PHP 5 中,不再需要這樣了。可以定義一個 __autoload 函數(shù),它會在試圖使用尚未被定義的類時自動調(diào)用。通過調(diào)用此函數(shù),腳本引擎在 PHP 出錯失敗前有了最后一個機會加載所需的類。
本例嘗試分別從 MyClass1.php 和 MyClass2.php 文件中加載 MyClass1 和 MyClass2 類。
function __autoload($class_name) {
require_once $class_name . '.php';
}
$obj = new MyClass1();
$obj2 = new MyClass2();
注意:
在 __autoload 函數(shù)中拋出的異常不能被 catch 語句塊捕獲并導(dǎo)致致命錯誤。
很多開發(fā)者寫面向?qū)ο蟮膽?yīng)用程序時對每個類的定義建立一個 PHP 源文件。一個很大的煩惱是不得不在每個腳本(每個類一個文件)開頭寫一個長長的包含文件列表。
在 PHP 5 中,不再需要這樣了。可以定義一個 __autoload 函數(shù),它會在試圖使用尚未被定義的類時自動調(diào)用。通過調(diào)用此函數(shù),腳本引擎在 PHP 出錯失敗前有了最后一個機會加載所需的類。
本例嘗試分別從 MyClass1.php 和 MyClass2.php 文件中加載 MyClass1 和 MyClass2 類。
function __autoload($class_name) {
require_once $class_name . '.php';
}
$obj = new MyClass1();
$obj2 = new MyClass2();
注意:
在 __autoload 函數(shù)中拋出的異常不能被 catch 語句塊捕獲并導(dǎo)致致命錯誤。
您可能感興趣的文章:
- PHP類與對象后期靜態(tài)綁定操作實例詳解
- 詳解php中的類與對象(繼承)
- PHP類與對象中的private訪問控制的疑問
- php基礎(chǔ)知識:類與對象(5) static
- php基礎(chǔ)知識:類與對象(4) 范圍解析操作符(::)
- php基礎(chǔ)知識:類與對象(3) 構(gòu)造函數(shù)和析構(gòu)函數(shù)
- php基礎(chǔ)知識:類與對象(1)
- PHP學(xué)習(xí)記錄之面向?qū)ο螅∣bject-oriented programming,OOP)基礎(chǔ)【接口、抽象類、靜態(tài)方法等】
- PHP學(xué)習(xí)記錄之面向?qū)ο螅∣bject-oriented programming,OOP)基礎(chǔ)【類、對象、繼承等】
- PHP面向?qū)ο蟪绦蛟O(shè)計子類擴展父類(子類重新載入父類)操作詳解
- PHP中類與對象功能、用法實例解讀
相關(guān)文章
PHP實現(xiàn)的消息實時推送功能【基于反ajax推送】
這篇文章主要介紹了PHP實現(xiàn)的消息實時推送功能,結(jié)合實例形式分析了php基于反ajax推送實現(xiàn)的消息實時推送前臺ajax提交、后臺數(shù)據(jù)處理等相關(guān)操作技巧,需要的朋友可以參考下2018-03-03php中數(shù)字、字符與對象判斷函數(shù)用法實例
這篇文章主要介紹了php中數(shù)字、字符與對象判斷函數(shù)用法,以實例形式分析了is_bool()、is_int()、is_integer()、is_float()、is_real()、is_object() 和 is_array()等函數(shù)的作用及具體用法,需要的朋友可以參考下2014-11-11php解析html類庫simple_html_dom(詳細介紹)
一直以來使用php解析html文檔樹都是一個難題。Simple HTML DOM parser 幫我們很好地解決了這個問題??梢酝ㄟ^這個php類來解析html文檔,對其中的html元素進行操作 (PHP5+以上版本)2013-07-07PHP 網(wǎng)絡(luò)開發(fā)詳解之遠程文件包含漏洞
由于PHP支持使用相同的函數(shù)(Function)對本地文件和遠程文件進行操作。因此,一些惡意用戶通過強行使網(wǎng)站上的PHP代碼(Code)包含自己的文件來實現(xiàn)執(zhí)行自己腳本的目的。2010-04-04