Frage

Ich verwende CodeIginter als mein PHP-Framework. Ich erkläre die Situation unter: -

Ich brauche drei Modelle genannt: -

  • User_Model
  • Relation_Model
  • Reminder_Model

Betrachten wir nun die Situation:

User_Model ist bereits geschrieben. Ich schreibe Relation_Model. Mein Freund wird das Reminder_Model schreiben.

Relation_Model instanziiert User_Model und verwendet, dass in einem seiner Methode: getRelation($userID)

Reminder_Model instanziiert auch eine User_Model Instanz für seine Funktion.

Reminder_Model muss getRelation Methode von Relation_Model nennen.

So sollte es mindestens zwei Instanzen von User_Model sein. ein anderer in Relation_Model One in Reminder_Model.

Das Problem ist, wie stelle ich sicher, innerhalb Relation_Model, dass meine User_Model Instanz nicht stört die User_Model Instanz Reminder_Model Klasse meines Freundes?

Das heißt, um Code Reminder_Model, sollte mein Freund hat keine internen Kenntnisse über Relation_Model, nur eines seiner Methode getRelation zu verwenden.

Wenn Sie die Notwendigkeit, dies wissen wollen, sagen: Reminder_Model lädt das Modell des Benutzers, der in (sagen Benutzer-A) angemeldet hat, arbeitet Relation_Model mit den Modellen der Benutzer, das Mitglied von Benutzer-A-Team.

War es hilfreich?

Lösung

Ich bin mir nicht sicher, ob ich verstehe, warum Sie nicht die gleiche Instanz der User_Model Klasse verwenden können, aber vielleicht das Modell zweimal geladen, einmal mit plain old $ this-> last-> Modell ( ‚User_Model‘ ) und die zweite mit $ this-> last-> Modell ( 'Use_Model', 'Second_User_Model') helfen. Oder Sie könnten Klon das Objekt wie rel="nofollow $ this-> second_user_model = clone $ this-> user_model .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top