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