PHP автозагрузка с SplClassLoader?

Я изучаю пространства имен в PHP 5.3 и хочу использовать автозагрузку пространств имен. я нашел этоКласс SplClassLoader, но я не могу понять, как это работает.

Допустим, у меня есть структура каталогов, как это:

system
  - framework
    - http
      - request.php
      - response.php
index.php
SplClassLoader.php

Как включить автозагрузку классов? Какие пространства имен должны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();

Я получаю это сообщение об ошибке:

Fatal error: Class 'Request' not found in C:\wamp\apache\htdocs\php_autoloading\index.php on line 8

Почему это не работает? Как я могу использоватьSplClassLoader в моих проектах, так что он загружает / требует мои классы, и как мне настроить и назвать папки и пространства имен?

Ответы на вопрос(1)

Ваш ответ на вопрос