PHP Carregamento automático com SplClassLoader?
Estou aprendendo sobre espaços para nome no PHP 5.3 e gostaria de usar o carregamento automático de espaços para nome. Eu achei istoSplClassLoader class, mas não consigo descobrir como funcion
Digamos que eu tenha uma estrutura de diretórios assim:
system
- framework
- http
- request.php
- response.php
index.php
SplClassLoader.php
Como habilito o carregamento automático de classe? Quais namespaces devemrequest.php
eresponse.php
ter
Isto é orequest.php
:
namespace framework\http;
class Request
{
public function __construct()
{
echo __CLASS__ . " constructer!";
}
}
E este é oresponse.php
:
namespace framework\http;
class Request
{
public function __construct()
{
echo __CLASS__ . " constructed!";
}
}
E emindex.php
Eu tenho
require_once("SplClassLoader.php");
$loader = new SplClassLoader('framework\http', 'system/framework');
$loader->register();
$r = new Request();
Recebo esta mensagem de erro:
Fatal error: Class 'Request' not found in C:\wamp\apache\htdocs\php_autoloading\index.php on line 8
Por que isto não está funcionando? Como posso usarSplClassLoader
nos meus projetos, para carregar / exigir minhas aulas, e como devo configurar e nomear pastas e espaços para nom