【发布时间】:2013-09-12 13:47:29
【问题描述】:
require_once 'Zend/Loader/StandardAutoloader.php';
$loader = new Zend\Loader\StandardAutoloader(array('autoregister_zf' => true));
$loader->register();
由于某种原因,我无法让上面的这三行代码工作。这是我所做的:
- 我使用 set_include_path 将 ZF2 库添加到了我的 include_path(在运行时)
我确认它工作正常。 调用 require_once 'Zend/Loader/StandardAutoloader.php';不返回任何错误消息
但是当我打电话时: $loader = new Zend\Loader\StandardAutoloader(array('autoregister_zf' => true)); $loader->register(); 我收到“致命错误:找不到类'Zend\Loader\StandardAutoloader'”错误。我很困惑为什么上述方法不起作用。我错过了什么吗?任何帮助将不胜感激。
【问题讨论】:
-
这段代码是否在自定义命名空间中?尝试在类前加上反斜杠以指示根命名空间 --
new \Zend\Loader\StandardAutoloader() -
Hrmmm 可能不是——在这种情况下,PHP 似乎在错误消息中包含了命名空间前缀。 (至少在 5.5 中)
-
此代码不在自定义名称空间中。除了将 Zend 库添加到“init_path”的代码之外,这就是我在文件中的全部内容。一定少了点什么。此外,如果我删除 Zend\Loader 并调用类 StandardAutoloader(array('autoregister_zf' => true));直接,还是不行。
-
我发现了问题所在。我的 php.ini 中有另一个 Zend 库 (1.X) 实例,它干扰了我安装的新 Zend 2.0。如果您在 php.ini 中全局定义它们,似乎两者不能共存
标签: zend-framework zend-framework2