首先,我正在尝试使用以下 SplClassLoader - https://gist.github.com/221634
这是我的文件结构:
/root/f1/f2/APS/Common/Group.php
/root/f1/f2/index.php
/root/f1/f2/SplClassLoader.php
这是我的名为 Group (Group.php) 的测试类
namespace APS\Common;
class Group{
...
}
这是调用所有内容的 index.php 文件:
require "SplClassLoader.php";
$classLoader = new SplClassLoader('APS', 'APS/Common');
$classLoader->register();
我收到以下错误:
Fatal error: Class 'Group' not found in /root/f1/f2/index.php on line 17
在将命名空间和路径传递给加载程序时,我已经尝试了所有可能的组合。它永远不会起作用。
更新 #1 - index.php 中的第 17 行:
16: use APS\Common;
17: $x = new Group();
更新 #2 - 配置信息
- Apache/2.2.15(红帽)
- PHP 5.3.3
更新 #3 - 我现在收到不同的错误消息。
代码到位:
require "SplClassLoader.php";
$classLoader = new SplClassLoader('APS', '/root/f1/f2');
$classLoader->register();
use APS\Common;
$x = new Common\Group();
我收到的错误消息:
Warning: require(/f1/f2/APS/Common/Group.php): failed to open stream: No such file or directory in /root/f1/f2/SplClassLoader.php on line 133