Was ist der Unterschied zwischen Entity und Model in Symfony2 / Doctrine
Gehe ich durch die FOSUserBundle.
Und ich wollte undertand was ist der Unterschied zwischen Model/User.php
und Entity/User.php
.
Kann nicht das Modell und das Entity identisch sein?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist die beste Zusammenfassung auf die Rollen und Terminologie der Lehre 2.
Entity verwendet wird, durch die UnitOfWork-pattern in der Lehre 2.0 ORM (und in Hibernate in der Java-Welt) und auch ein Objekt ist die Repräsentation einer Sache, die in der realen Welt. Es hat die gleichen Attribute und Methoden wie die Platte haben, aber nicht wissen, über seine Beharrlichkeit. Es ist im Grunde ein POPO (plain old PHP object). Dies ermöglicht es diese Klassen und Objekte sehr leicht.
Modell ist ein konzeptuelles Objekt Darstellung einer Sache. Dieser Begriff, der verwendet werden könnte, für alle der oben genannten. Ein Datensatz ist ein Modell, das nur als ein Element oder ein Dokument. Der Begriff beschreibt eine Objekt-Repräsentation einer Sache.
Also, wenn Sie wollen, erstellen Sie eine bundle mit einigen Modellen, und Sie möchten, dass Ihre bundle-werden unabhängig von der Persistenz-layer erstellen Sie eine Modell-Klassen und Schnittstellen, definieren die Sache.
Definieren Sie und /oder implementieren, die alles gibt, ist nicht auf eine bestimmte Persistenz-Implementierung und verwenden Sie eine verknüpfte Entität oder Dokument-Klasse, die über delegation zu handhaben, die bestimmte Sachen.
Dies ist zum Beispiel geschehen, in der FOSUserBundle definiert einen User-Modell. Diese Benutzer-Modell verwendet, während das bundle, aber nicht über eine vollständige Implementierung für den Zugriff auf Ihre eigenen Daten (die ich nicht sehen, aber ich denke, es könnte eine Schnittstelle nur). Die endgültige Implementierung erfolgt in einer entity-Klasse und ein weiteres in einem Dokument der Klasse so egal , ob Sie die Verwendung von MySQL oder MongoDB können Sie immer noch arbeiten mit der gleichen Benutzer-Modell. Sie können sogar der Wechsel von einem zum anderen ohne änderung des Codes, wie es verwendet immer das Modell, unabhängig von der Person oder Dokument.