При написании приложений CodeIgniter мои действия контроллера, как правило, начинаются с нескольких строк, как показано ниже:
$this->load->model('abc_model');
$this->load->library('ijk');
А затем (только для полноты) они используются следующим образом:
$this->abc_model->fetch_123();
$this->ijk->do_something();
Что может быть слишком неправильного в расширении MY_Controller
, чтобы было возможно следующее?
$this->model('zbc_model')->fetch_stuff();
$this->library('ijk')->do_something();
Плюсы:
- Классы не загружаются до тех пор, пока они на самом деле не будут загруженыused
- Не нужно автоматически загружать какие-либо классы, используя
config/autoload.php
- Чуть более чистый код (возможно)
Минусы:
- Дополнительный вызов метода для каждого доступа (обычно просто возвращающий уже загруженный экземпляр)
- Немного более сложный код (возможно)