CodeIgniter - несколько экземпляров модели - PullRequest
1 голос
/ 09 марта 2009

Я использую CodeIginter в качестве своего PHP фреймворка. Я объясняю ситуацию ниже: -

Мне нужны три модели с именем: -

  • User_Model
  • Relation_Model
  • Reminder_Model

Теперь рассмотрим ситуацию:

User_Model уже написано. Я пишу Relation_Model. Мой друг напишет Reminder_Model.

Relation_Model создает экземпляр User_Model и использует его в одном из своих методов: getRelation($userID)

Reminder_Model также создает один экземпляр User_Model для своего функционирования.

Reminder_Model необходимо вызвать getRelation метод Relation_Model.

Итак, должно быть как минимум два экземпляра User_Model. Один в Relation_Model, другой в Reminder_Model.

Проблема в том, как я могу обеспечить внутри Relation_Model, чтобы мой экземпляр User_Model не мешал экземпляру User_Model класса Reminder_Model моего друга?

То есть, чтобы закодировать Reminder_Model, мой друг не должен иметь внутренних знаний о Relation_Model, просто чтобы использовать один из его методов getRelation.

Если вы хотите узнать о необходимости этого, скажите: Reminder_Model загружает модель пользователя, который вошел в систему (скажем, пользователь-A), Relation_Model работает с моделями пользователей, которые являются членами команды пользователя-A.

1 Ответ

4 голосов
/ 10 марта 2009

Я не уверен, что понимаю, почему вы не можете использовать один и тот же экземпляр класса User_Model, но, возможно, загружаете модель дважды, один раз со старой $ this-> load-> model ('User_Model' ) и второй с $ this-> load-> model ('Use_Model', 'Second_User_Model') поможет. Или вы можете клонировать объект, подобный $ this-> second_user_model = clone $ this-> user_model .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...