0

C:\xampp\htdocs包含Controller.phpApplicationHelper.phpC:\xampp\htdocs\site包含index.php

这是我得到的错误:

致命错误:在第 17 行的 C:\xampp\htdocs\Controller.php 中找不到类 'site\controller\ApplicationHelper'

我是整个命名空间业务的新手,但我不能 100% 确定这就是它背后的原因。即使我将包含路径设置为在该文件夹中查找,它似乎也没有找到ApplicationHelper.php 。如果我直接在Controller.php中包含ApplicationHelper.php ,它就可以工作。这是(相关)代码:

索引.php

set_include_path(get_include_path() . PATH_SEPARATOR . 'C:\xampp\htdocs');

require('Controller.php');
\site\controller\Controller::run();

控制器.php

namespace site\controller;

class Controller {

    private $applicationHelper;
    private function __construct () {}

    static function run () {
        $instance = new Controller();
        $instance->init();
    }

    function init () {
        $applicationHelper = ApplicationHelper::instance();
        $applicationHelper->init();
    }

}

应用程序助手.php

namespace site\controller;

class ApplicationHelper {

    private static $instance;

    private function __construct () {}

    static function instance () {
        if (!self::$instance) {
            self::$instance = new self();
        }
        return self::$instance;
    }

    function init() {

    }

}

谢谢您的帮助!

4

2 回答 2

1

您需要包含 ApplicationHelper.php 或使用自动加载器。

function __autoloader($class_name)
{
    include  $class_name . "php";
}
于 2010-08-29T04:16:34.837 回答
0

看到这个: http: //php.net/manual/en/language.oop5.autoload.php

于 2010-08-29T04:18:49.013 回答