Class Not Found,但其静态方法有效

时间:2010-09-20 01:05:38

标签: php

我已经盯着这看了两个小时,我确信这种情况正在发生,但我无法理解。

<?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

这怎么可能?

编辑:发布了整个页面的代码。

2 个答案:

答案 0 :(得分:3)

EchoApplicaton

你错过了一个字母 - EchoApplicat&gt;&gt; i&lt;&lt;上

答案 1 :(得分:0)

您确定您的班级有constructor吗?我认为new语句如果你遗失了,就不起作用。

According to the manual:

  

为了向后兼容,如果是PHP 5   找不到__construct()函数   对于给定的类,它将搜索   旧式构造函数,由   班级的名称。实际上,它   意味着唯一的情况   如果有兼容性问题   class有一个名为__construct()的方法   用于不同的   语义。

基本上,您最好在班级中使用__construct()EchoApplicaton()方法进行公开访问,否则会引发错误。