PHP找不到类?

WBOY
リリース: 2016-06-06 20:31:20
オリジナル
2287 人が閲覧しました

<code>    <?php $test = new testString();

    var_dump($test->test1());

    class testString extends Father{

        public function test1(){
            return 1;
        }

    }
</code>
ログイン後にコピー
ログイン後にコピー
<code><?php class Father{
    public function __construct( ) {
    }
}
</code></code>
ログイン後にコピー
ログイン後にコピー

为什么会报错?

Fatal error: Class 'testString' not found

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

回复内容:

<code>    <?php $test = new testString();

    var_dump($test->test1());

    class testString extends Father{

        public function test1(){
            return 1;
        }

    }
</code>
ログイン後にコピー
ログイン後にコピー
<code><?php class Father{
    public function __construct( ) {
    }
}
</code></code>
ログイン後にコピー
ログイン後にコピー

为什么会报错?

Fatal error: Class 'testString' not found

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

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

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

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

肯定错啊。

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

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

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート