自动加载类

时间:2011-03-08 18:58:52

标签: php oop autoload

我在includes文件夹中创建了一个名为Database.class.php的Database类。这是我的代码:

require_once 'includes/smarty/Smarty.class.php';
require_once 'includes/admin.functions.php';

function __autoload($class) {
    require_once 'includes/'.$class.'.class.php';
}

try {
    $db = Database::getInstance(); 
} catch (PDOException $e) { die('Error connecting to database.'); }

这段代码有什么问题吗?前两个包括工作正常,我只是得到“找不到类数据库”错误。

自动加载仅在创建新对象时有效吗?如果是这样,单身人士有解决方法吗?或者我做错了什么?

谢谢!

编辑: 手动包含时,它可以工作。所以它真的与自动加载相关..

1 个答案:

答案 0 :(得分:2)

Smarty使用spl_autoload_register注册自动加载功能。如果您有自己的自动加载功能,则必须在spl_autoload_register注册它,如果您希望它们一起工作。