[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: class_exists() не видит класс.
Hyacinthus
Вот фрагмент кода.
public static function dispatch ($url){
if (self::matchRoute($url)){
echo $controller = 'app\controllers\\' . self::$route['prefix'] . self::$route['controller'] . 'Controller';
if (class_exists($controller)) {
$controllerObject = new $controller(self::$route);
$action = self::lowerCamelCase(self::$route['action']) . 'Action';
if (method_exists($controllerObject, $action)) {
$controllerObject -> $action();
}else {
throw new \Exception("Method $controller::$action not found", 404);
}
}
else {
throw new \Exception("Controller $controller not found", 404);
}
}
else {
throw new \Exception("Page not found", 404);
}
}

if (class_exists($controller)) не видит мой класс: app\controllers\MainController.php, и перебрасывает на: else {throw new \Exception("Controller $controller not found", 404).
В браузере я получаю:

app\controllers\MainController

An error has occurred
Error Code: Exceptions
Error text: Controller app\controllers\MainController not found
Error file: /opt/lampp/htdocs/cryptoriot/classhgpd/core/Router.php

Мой класс:

app\controllers\MainController.php

<?php
namespace classapp\controllers;

class MainController
{
}


Моя система:

Eclipse IDE for PHP Developers (includes Incubating components)
Version: 2021-12 (4.22.0)
Build id: 20211202-1639
OS: Linux, v.5.15.12-1-MANJARO, x86_64 / gtk 3.24.31
Java vendor: N/A
Java runtime version: 17.0.1+12
Java version: 17.0.1

php 7.4.27-1

Я перепровери код много раз. Пробовал разные варианты написания. Перечитал всё что google имеет на эту тему. Ещё раз прочитал описание классов в php. Прочитал документацию eclipse...
Что бы я не делал class_exists() тупо не видит мой класс и всё.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.