我已经搜索了高低的答案并尝试了每个例子,但是仍然无法找到我的课程。为什么我一直在第23行的C:\ Portables \ xampp \ htdocs \ ProjectMorpheus \ config \ config.php中找到致命错误类'ProjectMorpheus \ model \ Database'
/ProjectMorpheus
/model
Database.class.php
/config
config.php
所以我的Database类有一个这样的命名空间:
namespace ProjectMorpheus\model;
class Database { ... }
最后,我的config.php有一个函数自动加载器函数(注意:__SITE_PATH ='C:\ Portables \ xampp \ htdocs \ ProjectMorpheus \'):
/*** auto load model classes ***/
function __autoload($class){
$parts = explode('\\', $class);
include __SITE_PATH . 'model/' . end($parts) . '.class.php';
}
$dbh = \ProjectMorpheus\model\Database::getInstance($dsn, $username, $password);
使用spl_autoloader似乎有效,但为什么呢?我唯一的猜测是$ class在两个实例中都不一样。我的spl_function看起来像:
spl_autoload_register(function($class){
$parts = explode('\\', $class);
include __SITE_PATH . 'model/' . end($parts) . '.class.php';
});
答案 0 :(得分:1)