Структура каталогов SplClassLoader

Я новичок в пространствах имен, и я предполагаю автозагрузку в методе SplClassLoader. Я пытался найти много уроков, но мне не повезло. Возможно, вы, ребята, можете помочь мне в этом?

Структура каталогов

- Oram
    - Lib
        - Classes
            Test.php
- index.php
- SplClassLoader.php

test.php

<?php
namespace Oram\Lib\Classes;

class Test
{
    function __construct()
    {
        echo "Test Class loaded";
    }
}

index.php

<?php
require_once('SplClassLoader.php');

$loader = new SplClassLoader('Lib', 'Oram\Lib'); 
$loader->register();

use Oram\Lib\Classes\Test;
$test = new Test();

Это все внутри localhost/website/ too btw, так как я запускаю его на WAMP.

Fatal error: Class 'Oram\Lib\Classes\Test' not found in C:\Program Files\wamp\www\website\index.php on line 10

Любой совет или если бы кто-то мог указать мне на некоторые ресурсы для чтения, чтобы обдумать это, было бы здорово.

Спасибо

1 ответ

Редактировать: у меня есть это! Я думаю, что вы должны изменить обратную косую черту (\) на косую черту (/).

<?php
    require_once('SplClassLoader.php');

    $loader = new SplClassLoader('Lib', 'Oram/Lib'); 
    $loader->register();

    use Oram\Lib\Classes\Test;
    $test = new Test();
?>
Take a look on [this][1]. 

Попробуй это. Я добавил \ перед вашим пространством имен. Это может быть ответом:

$loader = new SplClassLoader('Lib', '\Oram\Lib'); 
Другие вопросы по тегам