phpcodeigniteroop

Codeigniter: Get Instance


What is the purpose of "Get Instance" in Codeigniter? How would you explain this to a total beginner?


Solution

  • 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. ;-)