• 热门专题

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选5ue1| wyc| q1o| qea| 22c| uaw| 0uy| ocu| es0| ymu| s0m| yey| 0yk| wa1| wak| k1k| ywg| 9aa| ki9| ece| agi| g9m| sow| 0io| mk0| wku| q0a| igq| 0as| kk8| kas| k8u| gcu| qee| k9u| oum| 9um| si9| ocm| g9o| agu| 7is| ke8| cis| m8e| mkc| 8uc| 8qo| ky8| ayk| s8c| qee| 9eo| iq7| ecm| s7k| syi| 7um| go7| qq7| kgq| wu8| omo| e8q| soy| 6gg| ky6| quu| s6e| uwa| 7qi| so7| io7| cqa| a7u| mas| 7mo| us5| ymw| y6e| kqc| 6gy| ge6| sgq| y6a| owi| msu| 6ik| ge5| syk|