PHP中類的自動加載

類的自動加載是指,在外面的頁面中,并不需要去“引入”類文件,但是程序會在需要的時候動態(tài)加載需要的類文件。

方法1:使用__autoload魔術(shù)函數(shù)

當(dāng)程序需要某個類時,就會去調(diào)用該函數(shù),該函數(shù)我們需要自己去定義并在其中寫好加載類文件的通用語句。

<?php
        //需要類是自動調(diào)用,而且會傳進(jìn)來一個類名,這個案例的文件名為21A.class.php,類名為A
        function __autoload($className){
            require "./21".$className.".class.php";
        }
        $o1 = new A();
        $o1->v1 = 10;
        echo "<br/>v1:".$o1->v1;
    ?>

使用spl_autoload_register函數(shù)

該函數(shù)的作用是生命多個可以用來代替__autoload函數(shù)作用的函數(shù),語法如下:spl_autoload_regist("函數(shù)名1");如果用spl_autoload_register,__autoload就失效了。

<?php
        //注冊兩個用于自動加載的函數(shù)名
        spl_autoload_register('auto1');
        spl_autoload_register('auto2');
        function auto1($className){
            $file = "./21".$className.".class.php";
            if(file_exists($file)){
                require "./21".$className.".class.php";
            }
        }
        function auto1($className){
            $file = "./22".$className.".class.php";
            if(file_exists($file)){
                require "./22".$className.".class.php";
            }
        }
        //如果需要一個雷,但這個頁面還沒有記載,就會依次調(diào)用auto1和auto2,知道找到該類文件并加載
    ?>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容