我正在学习
PHP 5.3中的命名空间,我想使用命名空间自动加载.我发现这个
SplClassLoader class,但我不知道它是如何工作的.
假设我有这样的目录结构:
如何启用类自动加载? request.PHP和response.PHP有什么命名空间?
这是request.PHP:
- namespace framework\http;
- class Request
- {
- public function __construct()
- {
- echo __CLASS__ . " constructer!";
- }
- }
这是response.PHP:
- namespace framework\http;
- class Request
- {
- public function __construct()
- {
- echo __CLASS__ . " constructed!";
- }
- }
在index.PHP我有:
- require_once("SplClassLoader.PHP");
- $loader = new SplClassLoader('framework\http','system/framework');
- $loader->register();
- $r = new Request();
我收到这个错误消息:
为什么这不工作?如何在我的项目中使用SplClassLoader,以便加载/需要我的类,以及如何设置和命名文件夹和命名空间?