首頁 >後端開發 >PHP問題 >php如何實作類別的自動載入

php如何實作類別的自動載入

藏色散人
藏色散人原創
2020-10-19 11:05:405414瀏覽

php實作類別自動載入的方法:1、使用「__autoload」魔術函數實作載入類別;2、透過「spl_autoload_register」函數取代autoload函數作用。

php如何實作類別的自動載入

推薦:《PHP影片教學

類別的自動載入是指,在外面的頁面中,並不需要去「引入」類別文件,但是程式會在需要的時候動態載入需要的類別文件。

方法1:使用__autoload魔術函數

#當程式需要某個類別時,就會去呼叫函數,該函數我們需要自己去定義並在其中寫好載入類別文件的通用語句。

<?php
    //需要类是自动调用,而且会传进来一个类名,这个案例的文件名为21A.class.php,类名为A
     function __autoload($className){
      require "./21".$className.".class.php";
    }
    $o1 = new A();
    $o1->v1 = 10;
    echo "<br/>v1:".$o1->v1;
  ?>

方法2:使用spl_autoload_register函數

此函數的作用是生命多個可以用來代替autoload函數作用的函數,文法如下:spl_autoload_regist("函數名稱1");如果用spl_autoload_register,autoload就失效了。

<?php
    //注册两个用于自动加载的函数名
    spl_autoload_register(&#39;auto1&#39;);
    spl_autoload_register(&#39;auto2&#39;);
    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";
      }
    }
    //如果需要一个类,但这个页面还没有记载,就会依次调用auto1和auto2,知道找到该类文件并加载
  ?>

以上是php如何實作類別的自動載入的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn