0

C:\xampp\htdocsにはController.phpApplicationHelper.phpが含まれています。 C:\xampp\htdocs\siteにはindex.phpが含まれています。

これが私が得ているエラーです:

致命的なエラー: 17 行目の C:\xampp\htdocs\Controller.php にクラス 'site\controller\ApplicationHelper' が見つかりません

私は名前空間ビジネス全体に不慣れですが、それがその背後にあるものであると100%確信していません. インクルードパスを設定してそのフォルダーを検索しても、ApplicationHelper.phpが見つからないようです。Controller.phpにApplicationHelper.phpを直接インクルードすると機能します。(関連する)コードは次のとおりです。

index.php

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

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

Controller.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();
    }

}

ApplicationHelper.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 に答える