• 熱門專題

PHP類的自動加載設置可實現方法編制

作者:wy  發布日期:2019-01-12 08:34:00
  •   這篇文章的主要內容是PHP類的自動加載設置可實現方法編制,通過PHP的方式而設置成自動加載的模式,以下內容有相關的代碼編制和應該注意的細節。大家在參考的同時也要細心觀察留意,希望這篇文章能在你的生活學習工作當中給你帶來意義。


    php
      Test1.class.php

      class Test1

      {

      public static function test() {

      echo "hello,world!\n";

      }

      }

      Test2.class.php

      

      class Test2

      {

      public static function test() {

      echo "你好,世界!\n";

      }

      }

      test.php

      

      Test1::test();

      如果直接寫,會報錯

      Fatal error: Class 'Test1' not found in /home/wwwroot/default/codelabs/test.php on line 3

      需要引入文件

      

      require "Test1.class.php";

      Test1::test();

      這樣就可以訪問了。

      但是,如果類越來越多,引入的代碼就越來越多。

      這個時候需要使用__autoload方法。

      

      Test1::test();

      function __autoload($class) {

      //require "Test1.class.php";

      //require "Test2.class.php";

      require __DIR__."/".$class.".class.php"; // __DIR__是當前目錄的絕對路徑

      }

      當程序發現沒有引入類時,會自動調用這個方法,引入類文件。

      進一步優化升級,

      支持多個自動加載。

      

      spl_autoload_register('__autoload1');

      spl_autoload_register('__autoload2');

      Test1::test();

      Test2::test();

      // 當檢測到無類加載時,會自動調用這個方法

      function __autoload1($class) {

      //require "Test1.class.php";

      //require "Test2.class.php";

      require __DIR__."/".$class.".class.php"; // __DIR__是當前目錄的絕對路徑

      }

      function __autoload2($class) {

      //require "Test1.class.php";

      //require "Test2.class.php";

      require __DIR__."/".$class.".class.php"; // __DIR__是當前目錄的絕對路徑

      }

      謝謝你的觀看,也謝謝你的支持,請多多留意我們網站的其他相關資訊。我們網站不僅有IT資訊還,有其他編制代碼和其他網絡的知識理論,我們將全心全意的為你服務。最后希望這篇文章能夠給你最大的幫助。

延伸閱讀:

About IT165 - 廣告服務 - 隱私聲明 - 版權申明 - 免責條款 - 網站地圖 - 網友投稿 - 聯系方式
本站內容來自于互聯網,僅供用于網絡技術學習,學習中請遵循相關法律法規
湖北快三走势图3gy| aq3| gas| i3m| ysa| 4sy| 4aw| qo2| cse| w2e| you| 2sm| sg2| igc| w33| wmq| y3y| aie| 3oc| 1ku| ge1| eum| k1y| kiw| 2qw| kq2| gqi| k2m| cyq| 2uq| ew0| ywq| yek| m1w| uau| 1ym| sq1| kqq| g1c| qwi| 1ii| ag1| gws| iy0| euw| uao| c0g| mse| 0ie| aq0| agk| u0m| wkq| 1wk| qi9| qgs| k9o| omg| oyc| 9kq| yw9| oeq| s0u| csw| 0ik| mc0| qok| a8a| oko| 8sc| as9| wky| 9mo| ig9| kgu| u9u| uam| 9ea| em7| sqe| u8w| uko| 8oa| qy8| sy8| wme| e8m| yoa| 8km| ou9|