PHP找不到类?
巴扎黑
巴扎黑 2017-04-10 15:48:29
[PHP讨论组]
    <?php
    $test = new testString();

    var_dump($test->test1());

    class testString extends Father{

        public function test1(){
            return 1;
        }

    }
<?php
class Father{
    public function __construct( ) {
    }
}

为什么会报错?

Fatal error: Class 'testString' not found

如果我去掉extends Father之后就可以正常输出了。

巴扎黑
巴扎黑

全部回复(4)
天蓬老师

第一,从你贴出来的代码看,你应该是写在两个文件之中,在 testString 类文件中没有 require 或 include Father类文件。
第二,也是你这个问题的关键所在,类声明的顺序,在文件编译过程中,编译到 testString 类声明时,发现没有Father类(即未声明),这时 testString 类声明失败, 这个你可以用class_exists()来验证一下。所以在实例化 testString类的时候报错 class 'testString' not found。

将父类在继承其的子类之前声明就可以了。

黄舟

因为你的定义在调用的后面呀

巴扎黑

肯定错啊。

顺序执行,testString还没定义,你就new了。

巴扎黑

请将父类写到子类前面,请在定义类以后在实例化

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

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