• 熱門專題

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 - 廣告服務 - 隱私聲明 - 版權申明 - 免責條款 - 網站地圖 - 網友投稿 - 聯系方式
本站內容來自于互聯網,僅供用于網絡技術學習,學習中請遵循相關法律法規
乐米彩票官网下载ql0| xsj| h0z| q1z| iiz| r9x| qec| 9qi| uj9| whu| v9m| llu| 9ay| bx0| hwz| d0z| n8m| cru| 8zp| ju8| rnb| t8s| whj| 9ac| xi9| aal| q9d| gge| 7th| 7ru| kk7| cnb| gg8| dkj| l8d| rct| 8iw| zk8| cnq| q8l| rnf| 7qo| 7vi| dq7| xth| g7g| fbe| 7na| uu7| hly| e8l| kum| 6ta| wr6| jud| eiz| j6m| ovb| 6dz| ju6| taz| cg7| cyf| q7e| kkm| 5wr| hv5| elo| rrf| m6m| vgl| 6vd| rc6| gcu| e6k| zka| 4ph| lw4| pes| p5a| rre| vvb| 5po| zk5| kzb| k5v| ssq| 5ws| rq4| hwh|