контроллер представления модели — Как требовать файл в подкаталоге в пользовательском PHP MVC?

Я создал структуру MVC в PHP только для учебных целей в PHP. Который был простым успехом, когда я следовал онлайн-учебнику.

Структура каталогов для текущего mvc:
приложение
| -controllers
1.php, 2.php, 3.php
| -libs
1.php, 2.php, 3.php
| Вид
1.php, 2.php, 3.php
| -моделей
1.php, 2.php, 3.php
| -публичный

Вызов контроллеров осуществляется с помощью файла с именем bootstrap.php в папке libs.

Я сделал некоторые изменения в структуре каталогов:
приложение
| -controllers
| — модуль1
1.php, 2.php, 3.php

  |- module2
1.php , 2.php , 3.php

| -libs
| Вид
| -моделей
| -публичный

попытался интегрировать изменения в bootstrap.php для вызова контроллеров
из названных папок.

вот мой

private $_modulePath = app/controllers/

private function _loadExistingModuleController() {
$module = $this->_modulePath . $this->_url[0];
if(is_dir($this->_modulePath . $this->_url[0]) == true) {
$_dirpath =  $this->_modulePath . $this->_url[0] .'/';
$file = $this->_dirpath . $this->_url[1];
if (file_exists($file)) {
require '$file';
$this->_controller = new $this->_url[1];
$this->_controller->loadModel($this->_url[1], $this->_modelPath);
} else {
$this->_error();
return false;
}
} else {
$this->_error();
return false;
}

}

я получаю неопределенное смещение:

Любое предложение о том, как сделать выше.
Благодарю.

0

Решение

Проблема:

$this->_dirpath не был определен, вы определяете $_dirpath вместо.

Решение:

Чтобы исправить последнее изменение проблемы:

$_dirpath =  $this->_modulePath . $this->_url[0] .'/';

в

$this->_dirpath =  $this->_modulePath . $this->_url[0] .'/';
0

Другие решения

Других решений пока нет …