2010-09-20 2 views
2

Я смотрел на это в течение двух часов, и я уверен, что есть приличная причина, что это происходит, но я не могу понять это.Класс не найден, но его статические методы работают

<?php 
error_reporting(7); //warning & parse 

include($_SERVER['DOCUMENT_ROOT'].'/echo/EchoApplication.php'); 


$db_credentials = array(
    'host'   => '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 

Как это возможно?

EDIT: опубликовал код всей страницы.

+0

ли они оба используют один за другим, как в вашем примере? – alex

+0

Да, это линия 14-16, с пустой линией между ними. – UltimateBrent

ответ

3
EchoApplicaton 

Вы пропустили одну букву - EchoApplicat >> я < < на

+0

Ничего себе, это всегда что-то затормозило. Благодаря! – UltimateBrent

0

У вас есть свой класс constructor? Я думаю, что инструкция new не работает, если вы ее не заметили.

According to the manual:

Для обратной совместимости, если PHP 5 не может найти функцию __construct() для данного класса, он будет искать функцию конструктора старого стиля, по имени класс. Фактически, это означает, что единственный случай, который имел бы проблемы с совместимостью, заключается в том, что класс имел метод с именем __construct() , который использовался для разных семантик .

В принципе, лучше либо иметь __construct() или метод EchoApplicaton() в своем классе, который является публично доступным, или будет сгенерировано сообщение об ошибке.

+0

Я делаю, но он пуст. Это имеет значение? 'public function __construct() {}' – UltimateBrent

+0

Тогда это не проблема ... Какова область действия самого класса? –

+0

отправил полный код. Это просто включено до этого. – UltimateBrent

Смежные вопросы