php如何实现类的自动加载-PHP问题

资源魔 40 0

php完成类主动加载的办法:一、应用“__autoload”魔术函数完成加载类;二、经过“spl_autoload_register”函数替代autoload函数作用。

保举:《PHP视频教程》

类的主动加载是指,正在里面的页面中,其实不需求去“引入”类文件,然而顺序会正在需求的时分静态加载需求的类文件。

办法1:应用__autoload魔术函数

当顺序需求某个类时,就会去挪用该函数,该函数咱们需求本人去界说并正在此中写好加载类文件的通用语句。

<?php
    //需求类是主动挪用,并且会传出去一个类名,这个案例的文件名为21A.class.php,类名为A
     function __autoload($className){
      require "./21".$className.".class.php";
    }
    $o1 = new A();
    $o1->v1 = 10;
    echo "<br/>v1:".$o1->v1;
  ?>

办法2:应用spl_autoload_register函数

该函数的作用是生命多个能够用来替代autoload函数作用的函数,语法以下:spl_autoload_regist("函数名1");假如用spl_autoload_register,autoload就生效了。

<?php
    //注册两个用于主动加载的函数名
    spl_autoload_register('auto1');
    spl_autoload_register('auto2');
    function auto1($className){
      $file = "./21".$className.".class.php";
      if(file_exists($file)){
        require "./21".$className.".class.php";
      }
    }
    function auto1($className){
      $file = "./22".$className.".class.php";
      if(file_exists($file)){
        require "./22".$className.".class.php";
      }
    }
    //假如需求一个雷,但这个页面尚未记录,就会顺次挪用auto1以及auto2,晓得找到该类文件并加载
  ?>

以上就是php若何完成类的主动加载的具体内容,更多请存眷资源魔其它相干文章!

标签: php php教程 php故障解决 php使用问题

抱歉,评论功能暂时关闭!