【发布时间】:2012-12-31 03:35:01
【问题描述】:
我使用 ZF2 作为库。我有一个相当标准的spl_autoload_register 实现,如下所示:
set_include_path(join(PATH_SEPARATOR, array(
get_include_path(),
ROOT . DS . 'library',
ROOT . DS . 'application',
)));
spl_autoload_register();
地点:
define('DS', DIRECTORY_SEPARATOR);
define('ROOT', dirname(dirname(__FILE__)));
在我的 Mac 上,一切正常。在我的 CentOS 服务器上,不。我唯一一次看到spl_autoload_register 不喜欢这样的问题是当我尝试使用 CamelCasing 等时。显然,情况并非如此。我正在尝试加载:
\Zend\Config\Config
现在,我的目录结构如下:
/application
/controller
/model
/objects
/dao
/weeeeeeee
/view
/template_html
/library
/core
/Zend
/Config
你明白了。
那么,为什么这不起作用?
编辑:请告诉它不是在寻找 config.php 而不是 Config.php...
【问题讨论】:
-
spl_autoload_register()的回调是什么样的? -
@alex 我没有这样的回调。
-
只是检查它。有什么理由用
dirname()包裹__FILE__两次?另外,您的 PHP 是否支持__DIR__? -
几年前我开始使用这段代码,所以我现在无法给出理由。我还没有检查 m PHP 是否支持
__DIR__- 但是 - 它与我的其他库一起工作正常,而不是 Zend 的东西。 -
您可以注册一个回调,并转储它传递的类名以及常量的串联,以确保不会出现问题。
标签: php zend-framework2 spl-autoload-register