独孤九贱 类的自动加载__autoload()的小疑问
葫芦娃平衡盘
葫芦娃平衡盘 2017-08-09 00:06:19
[PHP讨论组]

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文件,可以成功的输出值


热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号