2

ここ数日、私は頭がおかしくなりそうで、他に何をしたらいいのかわからないので、あなたの助けが本当に必要です。私はすべてを試しました。

問題は次のとおりです。ファイルが 2 つあります。site.phplogs.php

の内容は次のlogs.phpとおりです。

class Logs {

    function __construct() {

    }

}

ここで、'site.php' の冒頭で楽しい部分が始まります。

require_once("database.php");
require_once("logs.php");

class Site {

    private $db;
    private $logs;

    function __construct() {

        $this->logs = new Logs(); ### this is the error line
        $this->db = new MySQLDatabase();

    }

}

それらはすべて同じディレクトリにあります。クラスが見つからないのはなぜですか?

4

2 に答える 2

1

PHP が間違ったファイルをインクルードしている可能性があります。PHP は、スクリプトのディレクトリ内を調べる前に、インクルード パスを検索します。インクルード パスに何らかの形で logs.php が含まれている可能性があります (詳細については、この PHP マニュアルを参照してください)。あなたのlogs.phpのルートにあります。

また、誤ってクラスを別のクラスまたは関数内に囲んでしまった可能性もあります。クラスがタグ内のみにあることを確認してください。

于 2013-05-11T16:35:57.277 に答える
0

助けてくれてありがとう。何が問題だったのか分かりました!何らかの理由で、php ファイルに「logs.php」という名前を付けるべきではないことがわかりました。名前を変更するとすぐに、完全に機能します。理由はわかりませんが、その名前では機能しません。

于 2013-05-12T16:14:26.423 に答える