2010-09-20 58 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 

這怎麼可能?

編輯:發佈整個頁面的代碼。

+0

他們是在你的榜樣其他等之後都運行呢? – alex 2010-09-20 01:09:45

+0

是的,這是14-16行,中間有一條空行。 – UltimateBrent 2010-09-20 01:15:15

回答

3
EchoApplicaton 

你已經錯過了一個字母 - EchoApplicat >>我< <上

+0

哇,它總是有些遲鈍。謝謝! – UltimateBrent 2010-09-20 01:27:33

0

您確定您的班級有constructor?我認爲new聲明不起作用,如果你錯過了。

According to the manual:

爲了向下兼容,如果PHP 5 找不到__construct()函數 給定類,它將搜索 舊式的構造函數,通過 的名字類。實際上, 意味着 存在兼容性問題的唯一情況是 類具有名爲__construct() 的方法,該方法用於不同的 語義。

基本上,你最好要麼有一個__construct()或在類中EchoApplicaton()方法是公開訪問,或錯誤將被拋出。

+0

我這樣做,但它是空的。這很重要嗎? '公共函數__construct(){} – UltimateBrent 2010-09-20 01:14:10

+0

然後,這不是問題...類本身的範圍是什麼? – 2010-09-20 01:16:01

+0

發佈了完整的代碼。它只是在此之前包括在內。 – UltimateBrent 2010-09-20 01:20:32