1

エラーを解決しようとしています:Fatal error: Cannot redeclare class

私はいたるところを見てきましたが、クラスがインスタンス化された場所が見つかりません。

とにかく、そのクラスの既存のインスタンスに関するデバッグ情報を出力できますか?

4

3 に答える 3

3

はい、愚かなphpはクラスが宣言された場所を教えてくれません。次のことを試してください(致命的なエラーラインの直前)

$r = new ReflectionClass("YourClassName"); echo $r->getStartLine();
于 2009-10-26T09:49:17.867 に答える
3

クラスを複数回宣言するファイルをインポートしている可能性があります。これは、includes/require が制御不能になっている兆候である可能性があるため、構造を単純化する必要がある場合があります。

別のアプローチの 1 つは、autoload を使用してクラスをロードし、この種の問題を回避することです。もう 1 つは、include_once または require_once のみを使用することです。私は通常、require を単純な構造で使用することを好みます。

于 2009-10-26T09:43:30.253 に答える