第十二節(jié) 類的自動(dòng)加載 [12]
更新時(shí)間:2006年10月09日 00:00:00 作者:
當(dāng)你嘗試使用一個(gè)未定義的類時(shí),PHP會(huì)報(bào)告一個(gè)致命錯(cuò)誤. 解決方法就是添加一個(gè)類,可以用include包含一個(gè)文件. 畢竟你知道要用到哪個(gè)類. 但是,PHP提供了類的自動(dòng)加載功能, 這可以節(jié)省編程的時(shí)間. 當(dāng)你嘗試使用一個(gè)PHP沒(méi)有組織到的類, 它會(huì)尋找一個(gè)__autoload的全局函數(shù). 如果存在這個(gè)函數(shù),PHP會(huì)用一個(gè)參數(shù)來(lái)調(diào)用它,參數(shù)即類的名稱.
例子6.15說(shuō)明了__autoload是如何使用的. 它假設(shè)當(dāng)前目錄下每個(gè)文件對(duì)應(yīng)一個(gè)類. 當(dāng)腳本嘗試來(lái)產(chǎn)生一個(gè)類User的實(shí)例,PHP會(huì)執(zhí)行__autoload. 腳本假設(shè)class_User.php中定義有User類.. 不管調(diào)用時(shí)是大寫還是小寫,PHP將返回名稱的小寫.
Listing 6.15 Class autoloading
<?php
//define autoload function
function __autoload($class)
{
include("class_" . ucfirst($class) . ".php");
}
//use a class that must be autoloaded
$u = new User;
$u->name = "Leon";
$u->printName();
?>
相關(guān)文章
PHP has encountered an Access Violation
PHP has encountered an Access Violation...2007-01-01
PHP isset()與empty()的使用區(qū)別詳解
通過(guò)對(duì)PHP語(yǔ)言的學(xué)習(xí),應(yīng)該知道它是基于函數(shù)的一款HTML腳本語(yǔ)言。龐大的函數(shù)庫(kù)支持著PHP語(yǔ)言功能的實(shí)現(xiàn)。下面我們?yōu)榇蠹医榻B有關(guān)PHP函數(shù)isset()與empty()的相關(guān)用法。2010-08-08
截獲網(wǎng)站title標(biāo)簽之家內(nèi)容的例子
2006-10-10
vBulletin Forum 2.3.xx SQL Injection
vBulletin Forum 2.3.xx SQL Injection...2006-10-10
一步一步學(xué)習(xí)PHP(8) php 數(shù)組
與其把PHP中的數(shù)組理解為我們狹義上的“數(shù)組”,我覺(jué)得還不妨把這個(gè)數(shù)組一分為二,一者為我們常規(guī)上的數(shù)組,一者為我們的Dictionary。2010-03-03

