Question

J'utilise CodeIginter comme framework PHP. J'explique la situation ci-dessous: -

J'ai besoin de trois modèles nommés: -

  • User_Model
  • Modèle de relation
  • Modèle de rappel

Examinons maintenant la situation:

User_Model est déjà écrit. J'écris Relation_Model . Mon ami écrira le Reminder_Model .

Relation_Model instancie User_Model et l'utilise dans l'une de ses méthodes: getRelation ($ userID)

Reminder_Model instancie également une instance User_Model pour son fonctionnement.

Reminder_Model doit appeler la méthode getRelation de Relation_Model.

Donc, il devrait y avoir au moins deux instances de User_Model . Un dans Relation_Model , un autre dans Reminder_Model .

Le problème est de savoir comment l'intérieur Relation_Model , afin que mon instance User_Model n'interfère pas avec User_Model instance de la classe Reminder_Model de mon ami?

C’est-à-dire que pour coder Reminder_Model , mon ami ne devrait pas avoir une connaissance interne de Relation_Model , mais simplement pour utiliser l’une de ses méthodes getRelation .

Si vous voulez en savoir le besoin, dites: Reminder_Model charge le modèle de l'utilisateur qui s'est connecté (par exemple, utilisateur-A), Relation_Model fonctionne avec les modèles des utilisateurs membres de l'équipe de l'utilisateur-A.

Était-ce utile?

La solution

Je ne suis pas sûr de comprendre pourquoi vous ne pouvez pas utiliser la même instance de la classe User_Model, mais vous pouvez peut-être charger le modèle deux fois, une fois avec l'ancien $ this- > load- > model (' User_Model ') et le deuxième avec $ this- > load- > model (' Use_Model ',' Second_User_Model ') aidera. Vous pouvez également cloner l'objet comme $ this- > second_user_model = clone $ this- > user_model .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top