0

我有一个问题,我有以下接口(http://pastebin.com/c11xbdxh),并且我有以下实现上述接口的类(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());

感谢您的帮助:)

4

2 回答 2

0

“没有任何错误,也没有任何输出”通常意味着错误报告设置吃掉的致命或解析错误。检查日志。确保error_reporting(E_ALL)已设置,最好在 ini 文件中。

$fileName不可读时添加调试输出。这可能会提供一个见解。

于 2013-09-22T14:48:46.943 回答
0

好的,我已修复它,自动加载仅从文件加载类,它不加载接口。

我只是在class_implements我编写的自动加载函数中添加了一个基于函数的短代码。

感谢您的所有帮助:D

于 2013-09-22T15:47:24.790 回答