Метод контроллера доступа изнутри модели - PullRequest
8 голосов
/ 05 марта 2012

Как получить доступ к методу контроллера внутри модели?

Ответы [ 2 ]

19 голосов
/ 05 марта 2012

Вы не.

Хотя это технически возможно, если вы считаете, что вам нужно , это указывает на недостаток в дизайне вашего приложения.

Уровень контроллера является основой вашего приложения и предназначен для обработки запросов от пользователя, общения с уровнем модели и соединения результатов в представлении. Уровень вашей модели должен быть закрыт для Controller и View, но иметь дело только с манипулированием данными. Это слишком упрощенное объяснение шаблона MVC (ресурсы для этого можно найти в другом месте).

Ваши модели Codeigniter должны использоваться с любого контроллера и не зависеть от них. Существует множество решений для решения любой проблемы, с которой вы столкнулись: вы можете передавать данные в модель несколькими способами или использовать результат вызова метода модели для выполнения действия в вашем контроллере.

5 голосов
/ 26 сентября 2014

Вы можете использовать так:

class some_model extends Model
{
   function getController()
   {
   $controllerInstance = & get_instance();
   $controllerData = $controllerInstance->getData();
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...