首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >接口与自动化类的实现

接口与自动化类的实现
EN

Stack Overflow用户
提问于 2013-09-22 14:09:58
回答 2查看 77关注 0票数 0

我有一个问题,我有以下接口(http://pastebin.com/c11xbdxh),下面的类实现了上面的接口(http://pastebin.com/m1zGNfSm)。

为了动态加载类,我使用了以下autoload函数:

代码语言:javascript
复制
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");

当我创建一个新的对象类(在自动代码下)时,我没有任何错误,也没有任何输出.

代码语言:javascript
复制
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());

谢谢你的好意:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-22 15:47:24

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

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

谢谢你的帮助。

票数 0
EN

Stack Overflow用户

发布于 2013-09-22 14:48:46

“不要获得任何错误,也不需要任何输出”通常意味着error_reporting设置会导致致命错误或分析错误。检查日志。确保设置了error_reporting(E_ALL),最好在ini文件中设置。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18944711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档