What is the purpose of "Get Instance" in Codeigniter? How would you explain this to a total beginner?
get_instance() is a function defined in the core files of CodeIgniter. You use it to get the singleton reference to the CodeIgniter super object when you are in a scope outside of the super object.
Any class that you instantiate within your controller methods can access CodeIgniter's native resources simply by using the get_instance() function. This function returns the main CodeIgniter object.
Ok, so everything in CodeIgniter runs through the super-magic $this
variable. This only works for classes, as $this
basically defines the current class.
Your controller is a class, so $this is there, allowing you to do $this->load->model('whatever');
In models, you are also using a class. It is slightly different here, as $this
only contains useful stuff as you are extending from Model. Still, $this
is still valid.
When you are using a helper or a library, you need to find that "instance" or $this
equivalent.
$ci =& get_instance();
…makes $ci
contain the exact same stuff/code/usefulness as $this
, even though you are not in a class, or not in a class that inherits it.
That's an explanation for total beginners after 2 pints, so it's either wrong or about right. ;-)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With