首頁  >  文章  >  後端開發  >  實作PHP中類別的自動載入的兩種方法分享

實作PHP中類別的自動載入的兩種方法分享

黄舟
黄舟原創
2017-03-18 09:42:001231瀏覽

本篇文章主要介紹了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