我有一个问题,我有以下接口(http://pastebin.com/c11xbdxh),下面的类实现了上面的接口(http://pastebin.com/m1zGNfSm)。
为了动态加载类,我使用了以下autoload函数:
function autoloadClass($className)
{
$classParts = explode("\\", $className);
$fileName = SYSTEM_CORE_PATH . DIRECTORY_SEPARATOR . "classes" . DIRECTORY_SEPARATOR . strtolower(str_replace('_', DIRECTORY_SEPARATOR, end($classParts)) . '.class.php');
if (is_readable($fileName)) {
if (SYSTEM_DEBUG) {
include_once($fileName);
} else {
@include_once($fileName);
}
}
}
spl_autoload_register("autoloadClass");当我创建一个新的对象类(在自动代码下)时,我没有任何错误,也没有任何输出.
try {
$db = new Core\Infrastructure\MySQL(array('user' => DB_USER, 'pass' => DB_PASS, 'host' => DB_HOST, 'name' => DB_NAME));
} catch (PDOException $pdoE) {
echo $pdoE->getMessage();
} catch (Exception $e) {
echo $e->getMessage();
}
echo "<pre>ddd";
$db->runQuery("SELECT * FROM `users`;");
print_r( $db->fetchData());谢谢你的好意:)
发布于 2013-09-22 15:47:24
好的,我已经修复了它,自动加载只从文件加载类,它不加载接口。
我只是在我编写的autoload函数中添加了一个基于class_implements函数的简短代码。
谢谢你的帮助。
发布于 2013-09-22 14:48:46
“不要获得任何错误,也不需要任何输出”通常意味着error_reporting设置会导致致命错误或分析错误。检查日志。确保设置了error_reporting(E_ALL),最好在ini文件中设置。
当$fileName不可读时添加调试输出。这可能会提供一个洞察力。
https://stackoverflow.com/questions/18944711
复制相似问题