В индексном файле у меня есть _autoload
и загружаю библиотеки, а затем я взрываю URL, чтобы получить требуемый контроллер и модель, если она существует.В представлении я вижу модель __construct (), поэтому модель загружается, но если я пытаюсь использовать $this->model->test();
, я получаю
Вызов функции-члена test () для необъектного объекта
http://site.com/about
$this->request = about;
$controller = new $this->request;
$controller->loadModel($this->request);
Все работает нормально
* Вот главный контроллер *
class Conroller {
function __construct() {
// echo 'Main controller<br />';
$this->view = new View();
}
public function loadModel($name) {
$path = 'models/'.$name.'_model.php';
if (file_exists($path)) {
require 'models/'.$name.'_model.php';
$modelName = $name . '_model';
// **here i make the object**
$this->model = new $modelName();
}
}
}
Вот модель About
class about_model{
function __construct() {
echo 'test';
}
public function test() {
$test = 'test one';
}
}
Вот модель контроллера About
class About extends Conroller {
function __construct(){
parent::__construct();
$this->model->test();
$this->view->render('/about');
}
}