Witam, mam problem z ładowaniem modeli w MVC. Problem pojawia się wtedy gdy dodaję model do kontrolera.
Oto kod z pliku, który ładuje kontrolery:
<?php class Core { function __construct() { isset($_GET['url']) ? $url = $_GET['url'] : $url = 'index'; $url = rtrim($url, '/'); $url = explode('/', $url); $file = 'controllers/' . $url[0] . '_controller.php'; if(file_exists($file)) { require $file; $controller = new $url[0]; echo 'przed dodaniem modelu'; // to wypisuje PHP $controller->loadModel($url[0]); // $url[0] - np. adres-strony.pl/contact = $url[0] == 'contact' echo 'po dodaniu modelu'; // tego już nie... if(isset($url[2])) { $controller->$url[1]($url[2]); } else { if (isset($url[1])) { $controller->$url[1](); } else { $controller->index(); } } } else { echo 'This site does not exists.'; } } }
oto kod kontrolera głównego :
<?php class Controller { public function __construct() { $this->view = new View(); } public function loadModel($name) { $path = 'models/' . $name . '_model.php'; if(file_exists($path)) { require $path; $this->model = new $name(); } } }
a to przykładowy kontroler (index):
<?php class Index extends Controller { public function __construct() { parent::__construct(); } public function index() { $view->view->render('index/index'); // szablonu także nie ładuje. } public function detail() { $view->view->render('index/detail'); // szablonu także nie ładuje. } }
no i jeszcze przykładowy model (index):
<?php class Index extends Model { function __construct() { echo 'jestem modelem, który się nie ładuje'; } }
No i się meczę z tym od 2 dni i nie znajduję sposobu. W załącznikach dodaję jeszcze .zip’a z całym ‘projektem’.