我有一个问题,我有以下界面( http://pastebin.com/c11xbdxh ) 我有以下类实现了上面的接口(interface)( http://pastebin.com/m1zGNfSm )。
我使用以下自动加载函数来动态加载类:
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());
感谢您的帮助:)
最佳答案
“不要收到任何错误,也没有任何输出”通常意味着 error_reporting 设置导致致命或解析错误。检查日志。确保设置了 error_reporting(E_ALL)
,最好在 ini 文件中设置。
当$fileName
不可读时添加调试输出。这可能会提供见解。
关于php - 实现接口(interface)和自动加载类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18944711/