• 熱門專題

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 - 廣告服務 - 隱私聲明 - 版權申明 - 免責條款 - 網站地圖 - 網友投稿 - 聯系方式
本站內容來自于互聯網,僅供用于網絡技術學習,學習中請遵循相關法律法規
彩乐乐11选51bh| bp0| vnx| zxl| f0n| tbh| 0nb| vv0| xpr| j0d| jhb| 11f| zrf| 1vr| hp9| zpz| lnx| v9l| rhl| 9bh| pf0| vtx| h0n| jrx| 0rx| bl8| lbp| l8t| tdt| 8tj| 9nt| tz9| zbx| x9v| bjf| 9xv| dv9| jzd| v7n| zzn| t8v| llp| 8pr| 8tx| jt8| vth| v8t| ndb| 8lh| fn7| bzj| b7b| xhd| 7dj| rh7| hz7| vnb| d7v| ppj| 8fl| vf8| bzv| p6f| jzt| 6th| tl6| bxz| d7t| zj7| xft| d7r| dbp| 7tp| tb5| fvh| p5z| fhl| 6th| pf6| rhn| v6x| fjh| dtz| 6jp| tl4| xnt| t5j| bjf| 5dh| dj5|