【发布时间】:2011-03-12 08:38:07
【问题描述】:
我正在使用 SPL 自动加载功能,但似乎遗漏了一些重要的东西,因为我目前无法让它工作。这是我目前使用的 sn-p:
// ROOT_DIRECTORY translates to /home/someuser/public_html/subdomains/test
define('ROOT_DIRECTORY', realpath(dirname(__FILE__)));
define('INCLUDE_DIRECTORY', ROOT_DIRECTORY . '/includes/classes/');
set_include_path(get_include_path() . PATH_SEPARATOR . INCLUDE_DIRECTORY);
spl_autoload_extensions('.class.php, .interface.php, .abstract.php');
spl_autoload_register();
当我echo get_include_path() 时,我确实得到了我期望的路径:
// Output echo get_include_path();
.:/usr/lib/php:/usr/local/lib/php:/home/someuser/public_html/subdomains/test/includes/classes/
但是,当我运行代码时,我收到以下错误消息:
致命错误:spl_autoload() [function.spl-autoload]: Class Request 无法加载 /home/someuser/public_html/subdomains/test/contact.php 在第 5 行
Request.class.php肯定在 /home/someuser/public_html/subdomains/test/includes/classes/ 目录中。
我错过了什么?
【问题讨论】:
-
@Yannis Rizos - 这确实是我的问题。将此作为答案,以便我投票并为您提供正确答案。
标签: php spl spl-autoloader