• 熱門專題

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 - 廣告服務 - 隱私聲明 - 版權申明 - 免責條款 - 網站地圖 - 網友投稿 - 聯系方式
本站內容來自于互聯網,僅供用于網絡技術學習,學習中請遵循相關法律法規
彩票联盟网站永登县| 冷水江市|