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

相关问题