1

Hello Everyone ,
I`m trying to build MVC pattern using OOP PHP ,
please read the rest of the post to understand what I want exactly

This is the homepage controller which extends the main controller

class Home extends Controller {

function __construct () {

parent::__construct();

}



public function index () {

$data = array (
'name' => "Amr",
'age' =>24
);
$this->load->view("home_view",$data);
}

}

The Main Controller looks like this and extends loader class

class Controller extends Loader {
public $load;

function __construct(){
parent::__construct();
$this->load = new Loader();


}





}

The Loader class which has the problem is look like that

class Loader  {

public $Error;

function __construct(){
$this->Error = new Error();
}

public function model($Modelname){
$this->$Modelname = $Modelname;
if (file_exists("models/".$Modelname.".php")){
require_once $Modelname . ".php";
$this->$Modelname = new $Modelname;


}else{
$this->Error->Not_found();
}
}

public function view($Viewname,$data=NULL){
if(is_array($data)){
extract($data);
}
if (file_exists("views/".$Viewname.".php")){
require_once $Viewname . ".php";
}else{
$this->Error->Not_found();
}
}

public function helper($helper) {

if (file_exists("helpers/".$helper.".php")){
require_once $helper . ".php";
$this->$helper = new $helper;
}else{
$this->Error->Not_found();
}
}


}

what I need to do is to be able FROM HOMEPAGE Controller to do something like this

<?php
$this->load->model("someModel");
$this->someModel->someMethodInModel();
// and the same for helper
$this->load->helper("someHelper");
$this->someHelper->someMethodInHelper();

?>

can anyone help?

Edited by Amr87: n/a

1
Contributor
1
Reply
2
Views
6 Years
Discussion Span
Last Post by Amr87
0

The Erro I got when loading the homepage controller is
Notice: Undefined property: Home::$someModel

Fatal error: Call to a member function someMethodInModel() on a non-object

Edited by Amr87: n/a

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.