Codeigniter: получить экземпляр
Какова цель "Получить экземпляр" в Codeigniter? Как бы вы объяснили это начинающему?
2 ответа
Итак, все в CodeIgniter проходит через супер-магию $this
переменная. Это работает только для классов, так как $this
в основном определяет текущий класс.
Ваш контроллер является классом, так что $ это там, что позволяет вам сделать $this->load->model('whatever');
В моделях вы также используете класс. Это немного отличается здесь, как $this
содержит только полезные вещи, как вы расширяете от модели. Еще, $this
все еще в силе.
Когда вы используете помощника или библиотеку, вам нужно найти этот "экземпляр" или $this
эквивалент.
$ci =& get_instance();
... марка $ci
содержат точно такой же материал / код / полезность, как $this
даже если вы не в классе или не в классе, который его наследует.
Это объяснение для начинающих после 2 пинт, так что это либо неправильно, либо примерно правильно.;-)
Это реализация шаблона синглтона. По сути, существует только один экземпляр рассматриваемого класса, который предназначен для общего доступа. get_instance
Метод является статическим и предоставляет способ доступа к экземпляру из любой точки вашего кода.