明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

第12節(jié)--類的自動加載 -- Classes and Objects in PHP5 [12]

[摘要]第十二節(jié)--類的自動加載當(dāng)你嘗試使用一個未定義的類時,PHP會報告一個致命錯誤. 解決方法就是添加一個類,可以用include包含一個文件. 畢竟你知道要用到哪個類. 但是,PHP提供了類的自動加載功能, 這可以節(jié)省編程的時間. 當(dāng)你嘗試使用一個PHP沒有組織到的類, 它會尋找一個__autolo...
第十二節(jié)--類的自動加載

當(dāng)你嘗試使用一個未定義的類時,PHP會報告一個致命錯誤. 解決方法就是添加一個類,可以用include包含一個文件. 畢竟你知道要用到哪個類. 但是,PHP提供了類的自動加載功能, 這可以節(jié)省編程的時間. 當(dāng)你嘗試使用一個PHP沒有組織到的類, 它會尋找一個__autoload的全局函數(shù). 如果存在這個函數(shù),PHP會用一個參數(shù)來調(diào)用它,參數(shù)即類的名稱.

例子6.15說明了__autoload是如何使用的. 它假設(shè)當(dāng)前目錄下每個文件對應(yīng)一個類. 當(dāng)腳本嘗試來產(chǎn)生一個類User的實例,PHP會執(zhí)行__autoload. 腳本假設(shè)class_User.php中定義有User類.. 不管調(diào)用時是大寫還是小寫,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(); ?>