2


1

クラスが見つかりませんが、その静的メソッドは動作します

私はこれを2時間見つめており、これが起こっていることにはまともな理由があると確信していますが、それを理解することはできません。

 'localhost',
    'user'          => 'db_user',
    'password'      => 'db_pass',
    'database'      => 'db_name'
);

EchoApplication::testMethod();

$app = new EchoApplicaton(); //line 16
$app->db_credentials = $db_credentials;
$app->run();
----and this happens----
Fatal error: Class 'EchoApplicaton' not found in /var/www/html_echo/page.php on line 16

そんなことがあるものか?

編集:ページ全体のコードを投稿しました。

2 Answer


3


EchoApplicaton

EchoApplicat >> i <<の1文字を逃した


0


クラスにhttp://php.net/manual/en/language.oop5.decon.php[constructor]がありますか? あなたがそれを失っている場合、「新しい」ステートメントは機能しないと思います。

http://php.net/manual/en/language.oop5.decon.php [マニュアルによると:]

_ 後方互換性のために、PHP 5が特定のクラスのconstruct()関数を見つけられない場合、クラスの名前で古いスタイルのコンストラクター関数を検索します。 事実上、互換性の問題が発生する唯一のケースは、クラスに異なるセマンティクスに使用されるconstruct()という名前のメソッドがある場合です。 _

基本的に、パブリックにアクセス可能なクラスに `__construct()`または `EchoApplicaton()`メソッドを含めると、エラーがスローされます。