Я пытаюсь создать MVC Framework для изучения целей.Вызов класса в другом классе (call_user_func)
Итак, я пытаюсь вызвать класс и действие, прочитав URL. Но у меня проблемы с функцией call_user_func
.
Я уже прочитал URL-адрес и установил имена контроллеров и действий, но я не могу его назвать. Когда я запускаю функцию call_user_func
, я получаю следующую ошибку: Fatal error: Class 'PageController' not found in...
Очевидно, класс не загружен, и это мой вопрос. Как я могу сделать его вызываемым здесь? У меня есть пространство имён, но я не знаю, полезно ли это для чего-то.
Вот код
namespace Core\Dispatcher;
use Core\Routing\Router;
class Dispatch {
private $params = [];
public function dispatch()
{
$this->getParams();
/*error occurs here*/ call_user_func(new $this->params['Controller'], $this->params['Action']);
}
private function getParams()
{
$this->params = Router::read();
}
}
/*
* Router::read reads url and return an array with Controller and Action names
*/
Да, все это основано на CakePHP Framework, но только название класса, папка и т.д.
Таким образом, любая идея? Я забываю информацию?
Спасибо
Редактировать Вот ссылка на мой репозиторий на Bitbucket. Я думаю, что это разрешить загрузку. Bitbucket
«Отверстие на основе CakePHP Framework, но только имена классов, папок» - используете ли вы основной исходный код cakePHP, чтобы заставить ваш код работать? торт довольно хорош для создания быстрых сайтов MVC, на мой взгляд, – bish
Является ли пространство имен одинаковым в другом классе? – Stefan
Убедитесь, что файл контроллера включен. –