Bei der Verwendung von PHP ist ein Problem aufgetreten
Zum Beispiel habe ich jetzt drei Tabellen
Benutzertabelle: Benutzer
Produkttabelle: Waren
Gutschein: Ticket
Benutzeradresse: Adresse
Dies entspricht drei Objekten
Benutzer, Waren, Ticket, Adresse
Ich habe jetzt mehrere Funktionen: Gutschein des Benutzers abrufen, verfügbaren Gutschein des Benutzers abrufen, Adressliste des Benutzers abrufen, vom Benutzer gekaufte Artikel abrufen
Das mache ich jetzt
<code class="php">class User extends Model{ public function oder() { return OrderRepository::getByUserId($this->id); } public function successOrder() { return OrderRepository::getSuccessByUserId($this->id); } public function cancelOrder() { return OrderRepository::getCancelByUserId($this->id); } public function address() { return AddressRepository::getByUserId($this->id); } ... }</code>
Warum machen Sie das? Ich denke, es ist sinnvoller, die Vorgänge, die eng mit dem Benutzer verbunden sind, in das Benutzerobjekt zu integrieren. Wie organisieren Sie es normalerweise? Benutzerklasse Zu groß!
Wie gehen Sie normalerweise damit um?
Bei der Verwendung von PHP ist ein Problem aufgetreten
Zum Beispiel habe ich jetzt drei Tabellen
Benutzertabelle: Benutzer
Produkttabelle: Waren
Gutschein: Ticket
Benutzeradresse: Adresse
Dies entspricht drei Objekten
Benutzer, Waren, Ticket, Adresse
Ich habe jetzt mehrere Funktionen: Gutschein des Benutzers abrufen, verfügbaren Gutschein des Benutzers abrufen, Adressliste des Benutzers abrufen, vom Benutzer gekaufte Artikel abrufen
Das mache ich jetzt
<code class="php">class User extends Model{ public function oder() { return OrderRepository::getByUserId($this->id); } public function successOrder() { return OrderRepository::getSuccessByUserId($this->id); } public function cancelOrder() { return OrderRepository::getCancelByUserId($this->id); } public function address() { return AddressRepository::getByUserId($this->id); } ... }</code>
Warum machen Sie das? Ich denke, es ist sinnvoller, die Vorgänge, die eng mit dem Benutzer verbunden sind, in das Benutzerobjekt zu integrieren. Wie organisieren Sie es normalerweise? Benutzerklasse Zu groß!
Wie gehen Sie normalerweise damit um?
Modellklassifizierung:
Benutzermodell enthält nur benutzerbezogene Artikel
Bestellmodell enthält nur auftragsbezogene Artikel
Achten Sie auf die Aufteilung und Entkopplung des Geschäfts
Es kann auch in Logikschicht, Modelldatenschicht und Serviceschicht unterteilt werden
Die Methoden zum Abrufen von Daten aus jeder Tabelle sind in ihren jeweiligen Modellklassen geschrieben. Wenn Sie Daten aus mehreren Datentabellen abrufen möchten, instanziieren Sie die den Tabellen entsprechenden Modelle im Controller und rufen Sie ihre jeweiligen Methoden auf, um die Daten abzurufen . Daten in Controller integrieren.