CodeIgniter Forums

Full Version: best practise loading in model $this vs get_instance()
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

El Forum

[eluser]jof[/eluser]
Hi all

I have a newbe question. In models I kan load for example a helper like this

Code:
$this->load->helper('email');

Or I can do it like this, and first grab the ci object by ref and then...

Code:
$this->ci =& get_instance();
$this->ci->load->helper('email');

the same seems to work for sessions.

Code:
$this->session->set_userdata('id', 100);

Code:
$this->ci =& get_instance();
$this->ci->session->set_userdata('id', 100);

What is the "correct way" to do this?

In some code I have seen the 'get_instance' is used in models, but that seems not to be necessary?


regards // Johannes

El Forum

[eluser]moodh[/eluser]
Libraries, not models (as long as you extend the base model).
That's because $this (CI's superglobal) doesn't exist in your libraries (your own libraries $this), that's why you load in the instance to access it.

El Forum

[eluser]jof[/eluser]
ok, thanks!