Codeigniter: получить экземпляр

Какова цель "Получить экземпляр" в Codeigniter? Как бы вы объяснили это начинающему?

2 ответа

Решение

Итак, все в CodeIgniter проходит через супер-магию $this переменная. Это работает только для классов, так как $this в основном определяет текущий класс.

Ваш контроллер является классом, так что $ это там, что позволяет вам сделать $this->load->model('whatever');

В моделях вы также используете класс. Это немного отличается здесь, как $this содержит только полезные вещи, как вы расширяете от модели. Еще, $this все еще в силе.

Когда вы используете помощника или библиотеку, вам нужно найти этот "экземпляр" или $this эквивалент.

$ci =& get_instance();

... марка $ci содержат точно такой же материал / код / ​​полезность, как $thisдаже если вы не в классе или не в классе, который его наследует.

Это объяснение для начинающих после 2 пинт, так что это либо неправильно, либо примерно правильно.;-)

Это реализация шаблона синглтона. По сути, существует только один экземпляр рассматриваемого класса, который предназначен для общего доступа. get_instance Метод является статическим и предоставляет способ доступа к экземпляру из любой точки вашего кода.

Другие вопросы по тегам