CodeIgniter - 模型的多个实例

时间:2009-03-09 17:15:32

标签: php codeigniter

我使用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需要调用Relation_Model的getRelation方法。

因此,应该至少有两个User_Model个实例。一个位于Relation_Model,另一个位于Reminder_Model

问题是如何确保内部 Relation_Model,我的User_Model实例不会干扰我朋友的User_Model实例Reminder_Model } class?

也就是说,对于代码Reminder_Model,我的朋友不应该具有Relation_Model的内部知识,只是使用其方法getRelation之一。

如果您想知道对此的需要,请说:Reminder_Model加载已登录用户的模型(比如用户-A),Relation_Model使用属于用户A团队成员的用户模型。

1 个答案:

答案 0 :(得分:4)

我不确定我理解为什么你不能使用User_Model类的相同实例,但可能加载模型两次,一次使用普通的 $ this-> load->模型(' User_Model'),其次是 $ this-> load->模型('Use_Model','Second_User_Model')会有所帮助。或者你可以clone $ this-> second_user_model = clone $ this-> user_model 这样的对象。