独孤九贱 类的自动加载__autoload()的小疑问
葫芦娃平衡盘
葫芦娃平衡盘 2017-08-09 00:06:19
0
2
1086

class 类名{
function__autoload($ClassName){
$path=$ClassName.'.php';
if(file_exists($path)){//判断文件是否存在
require_once($path);//导入该文件
}
else{该文件不存在}
}
}

外部有一个test.php,我很好奇,我对了几遍,并看不到$ClassName =test 意思的语句 那他是怎么能把text.php导入进来的?

葫芦娃平衡盘
葫芦娃平衡盘

全部回复 (2)
听装雪碧

也就是你new test类名的时候,会执行这个__autoload方法,会把你new后面这个类名test当作参数传进这个方法里面

    听装雪碧

    你要在这个类里面引用一个不存在的类的时候,写了__autoload方法后,他会自动判断这个类文件是否存在,存在就会执行

    require_once($path)引用这个类文件

    你可以在你这个文件加上下面的代码

    echo (new Autoload1())->god();

    echo (new Autoload1())->name;


    然后test.php文件中写上

    class Test

    {

    public $name = '我是Test类文件里面的属性name';

    public function god(){

    return '我是Test类文件里面的方法god()';

    }

    }

    就可以看到自动的引入了这个Test文件,可以成功的输出值


      最新下载
      更多>
      网站特效
      网站源码
      网站素材
      前端模板
      关于我们 免责声明 Sitemap
      PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!