【问题标题】:Unable to load namespaced class in PHP 5.3.27无法在 PHP 5.3.27 中加载命名空间类
【发布时间】:2014-02-12 10:17:43
【问题描述】:

我遇到了一个问题,我似乎无法加载我创建的命名空间。我已经阅读了一些关于 SO 上的命名空间的信息,但我看不出在这种情况下我缺少什么。

这是我的调用代码:

<?php

use \CRMPicco\User\AlertReminder;
$alert_reminder = new AlertReminder($userObj);

?>

这是我的命名空间代码:

<?php
namespace CRMPicco\User;

class AlertReminder
{

}

这是我的错误:

致命错误:在中找不到类 'CRMPicco\User\AlertReminder' /var/www/vhosts/dev/web/login.inc.php 在第 324 行

第 324 行是 new AlertReminder 行。

【问题讨论】:

  • 删除use之后的前导反斜杠。
  • @Jon 我必须明确 include 吗?这不会用自动加载器加载吗?
  • 是的,如果您设置了自动加载器并且自动加载器可以正确加载文件,这将使用自动加载器加载。你有吗?
  • @Jon 删除前导 baskslash 没有任何效果。
  • @deceze 谢谢,您为我指明了正确的方向。我们对传递给自定义自动加载器的类名进行了一些清理,以防止这种加载。我已经重组了这个类,它现在可以工作了。

标签: php oop namespaces fatal-error


【解决方案1】:

这是由于我的自定义自动加载器中的一些类名清理导致类无法加载。

我将该类重构到另一个包中,现在它可以按预期工作。

【讨论】:

    猜你喜欢
    • 2011-06-22
    • 2012-09-05
    • 2017-10-26
    • 1970-01-01
    • 1970-01-01
    • 2014-10-10
    • 2013-11-25
    • 2014-04-13
    相关资源
    最近更新 更多