【发布时间】:2010-08-29 04:08:57
【问题描述】:
C:\xampp\htdocs 包含 Controller.php 和 ApplicationHelper.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() {
}
}
感谢您的帮助!
【问题讨论】:
标签: php namespaces set-include-path