terminator
terminator

Reputation: 3

Access an object of one class in other codeigniter

I have two controller classes in my codeigniter application, say class A and B.I just want to create an object of class A and access the functions declared in class A from class B.Something like:-

class A extends someclass
{
public function function1(){

$this->load->view('welcome_message');  
}       
}
}

class B extends someclass2
{
protected $object;
public function __construct()
{
parent::__construct();

$this->objectA = new A();
}       
}
}

I want to access the function function1 from class B using the object objectA. How can i do this? Please help. Thanks

Upvotes: 0

Views: 860

Answers (2)

Maxim Kumpan
Maxim Kumpan

Reputation: 2635

Cross-controller access goes against CI best practice.

Either inherit both controllers from a controller that holds this common functionality (don't forget to prefix the function with '_' so it's inaccessible via url routing) or create a library that contains your re-usable functionality. A helper can also work.

Upvotes: 1

Mohammad Ismail Khan
Mohammad Ismail Khan

Reputation: 651

well actually this is not the proper way in codeigniter. Actually when you have common functions in and you want to use them in 2 or more controllers. The best way is to create base controller in core folder with name of MY_Contoller and extend it from CI_Contoller. Write your common function in MY_Contoller. Now you have to extend all your controllers from MY_Contoller instead of CI_Contoller. You can do the same with Model.

Upvotes: 2

Related Questions