Фатальная ошибка: неперехваченная ошибка: класс 'MVC\library\notfoundexception' - автозагрузчик
Я думаю, что у меня может быть проблема с моим загрузчиком, который не работает правильно.
Я думаю, что самое безопасное-это показать вам мои каталоги
Макет Каталога
А вот и мой автопогрузчик
<?php // simple autoloader spl_autoload_register(function ($className) { if (substr($className, 0, 4) !== 'Mvc\\') { //' // [EDIT: Format fix] // not our business return; } $fileName = __DIR__.'/'.str_replace('\\', DIRECTORY_SEPARATOR, substr($className, 4)).'.php'; //' // [EDIT: Format fix] if (file_exists($fileName)) { include $fileName; } }); // get the requested url $url = (isset($_GET['_url']) ? $_GET['_url'] : ''); $urlParts = explode('/', $url); // build the controller class $controllerName = (isset($urlParts[0]) && $urlParts[0] ? $urlParts[0] : 'index'); $controllerClassName = '\\Mvc\\Controller\\'.ucfirst($controllerName).'Controller'; //' // [EDIT: Format fix] // build the action method $actionName = (isset($urlParts[1]) && $urlParts[1] ? $urlParts[1] : 'index'); $actionMethodName = $actionName.'Action'; try { if (!class_exists($controllerClassName)) { throw new \Mvc\Library\NotFoundException(); } $controller = new $controllerClassName(); if (!$controller instanceof \Mvc\Controller\Controller || !method_exists($controller, $actionMethodName)) { throw new \Mvc\Library\NotFoundException(); } $view = new \Mvc\Library\View(__DIR__.DIRECTORY_SEPARATOR.'views', $controllerName, $actionName); $controller->setView($view); $controller->$actionMethodName(); $view->render(); } catch (\Mvc\Library\NotFoundException $e) { http_response_code(404); echo 'Page not found: '.$controllerClassName.'::'.$actionMethodName; } catch (\Exception $e) { http_response_code(500); echo 'Exception: '.$e->getMessage().'<br><pre>'.$e->getTraceAsSt . ring().
Ошибка выбрасывается на строку 30, которая будет:
throw new \Mvc\Library\NotFoundException();
В нем также говорится: :
Stack trace: #0 {main}
Чего мне здесь не хватает?
Заранее спасибо.
Что я уже пробовал:
Я попытался переместить direcotires вокруг думая, что это имеет какое-то отношение к моей конфигурации xxamp.