Я создал структуру 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;
}
}
я получаю неопределенное смещение:
Любое предложение о том, как сделать выше.
Благодарю.
Проблема:
$this->_dirpath
не был определен, вы определяете $_dirpath
вместо.
Решение:
Чтобы исправить последнее изменение проблемы:
$_dirpath = $this->_modulePath . $this->_url[0] .'/';
в
$this->_dirpath = $this->_modulePath . $this->_url[0] .'/';
Других решений пока нет …