PHP-MVC: создание экземпляров контроллеров в Core - PullRequest
0 голосов
/ 03 октября 2018

Я на самом деле изучаю шаблон MVC, но с 2 дня я не могу решить следующую проблему:

У меня есть класс Core \ Core (), в котором я хочу создать экземпляр src \ Controller \ Controller () классов в зависимости от маршрута.

Я создал автозагрузчик, который, кажется, работает:

<?php
spl_autoload_register(function($class){

$base_dir = dirname(__DIR__);
$file = $base_dir . '/' . str_replace('\\', DIRECTORY_SEPARATOR, $class). '.php';

if(is_readable($file)){
    require_once $base_dir . '/' . str_replace('\\', DIRECTORY_SEPARATOR, $class . '.php');
}
});

У меня есть автозагрузчик, необходимый для index.php, и я вызываю свой Core \ Core () вindex.php, но он не загружает мой контроллер.

У меня есть это сообщение:

Uncaught Ошибка: класс 'AppController' не найден в C: \ xampp \ htdocs \ PiePHP \ Core \ Core.php: 22 * ​​1012 *

Спасибоза вашу помощь!

1 Ответ

0 голосов
/ 03 октября 2018

Проблема решена: мне нужно было установить пространство имен следующим образом:

$class = 'src\\Controller\\' . self::$currentController;
   $controller = new $class();
   $method = self::$currentMethod;
   $controller->$method();
...