Класс не найден при использовании автозагрузки psr-4 - PullRequest
0 голосов
/ 08 июля 2019

У меня следующая структура файлов

├-src
|   ├-Webroot
|   |       └-index.php
|       ...
|   └-dispatcher.php
└-composer.json

Файл composer.json

{
    "autoload": {
        "psr-4": {
            "JDZ\\": "src/"
        }
    }
}

Файл dispatcher.php

<?php
namespace JDZ;

class Dispatcher
{
 ...
}    
?>

Файл index.php

<?php
namespace JDZ\Webroot;

use JDZ\Dispatcher;

define('WEBROOT', str_replace("Webroot/index.php", "", $_SERVER["SCRIPT_NAME"]));
define('ROOT', str_replace("Webroot/index.php", "", $_SERVER["SCRIPT_FILENAME"]));

$dispatch = new Dispatcher();
$dispatch->dispatch();

?>

Когда я попробовал код, я получил

Неустранимая ошибка: необученная ошибка: класс 'JDZ \ Dispatcher' не найден в D: \ Programme \ Xampp \ htdocs \ mvc \ src \ Webroot \ index.php в строке 9

Уже извинен composer dump-autoload. Кто-нибудь может объяснить, почему я получил class not found ошибку?

...