Wenn ich ein ORM benutze, sagen wir mit Zend oder Symfony. Ist es alles oder nichts?
Ich würde gerne das ORM verwenden, möchte aber in manchen Fällen auch die Leistung optimieren und die Abfrage selbst schreiben, um zur Sache zu kommen. Wenn ich also anfange, ein ORM zu verwenden, wird es schwierig sein, es auf die alte Art und Weise zu tun, sobald ich es in mein Projekt einfüge?
Mit Doctrine ist es ziemlich einfach, das ORM "auszubrechen". In Doctrine können Sie Abfragen auf vier verschiedene Arten schreiben:
Wenn Sie Doctrine innerhalb von Symfony verwenden, gibt es absolut keine Features von Symfony, die Sie daran hindern, Doctrine zu verwenden, selbst wenn es aktiviert ist.
Eine abschließende Warnung: Wenn Sie einige der erweiterten Funktionen von Doctrine (z. B. Ereignisse oder Verhaltensweisen) verwenden, wird es schwierig, diese zu verknüpfen, wenn Sie Abfragen außerhalb von DQL ausführen.
Sie können beliebig mischen und anpassen. Das Hauptrisiko besteht darin, inkompatible Inkonsistenzen zwischen Ihren Tools einzuführen. Hypothetisches Beispiel:
Wenn ich eine document2-ORM-Entität habe, die einen Benutzer genannt wird, und ich benutze Zend_Db_Table, um einige Werte zwischen Flushes in der Benutzertabelle zu ändern, kann es unbeabsichtigte Nebenwirkungen oder unerwünschtes Verhalten geben.
Tags und Links php orm symfony1 zend-framework