Ich verwende Doctrine, die sowohl ORM als auch DBAL bietet.Objektrelationale Zuordnung vs Datenbankabstraktionsschicht
Was ist der Unterschied zwischen ihnen?
Wie sollte man entscheiden, wann welche verwenden?
Ich verwende Doctrine, die sowohl ORM als auch DBAL bietet.Objektrelationale Zuordnung vs Datenbankabstraktionsschicht
Was ist der Unterschied zwischen ihnen?
Wie sollte man entscheiden, wann welche verwenden?
Die DBAL (DataBase Abstraction Layer) ist eine Software, die die Interaktion mit SQL-Datenbanken vereinfacht, indem Sie sie verwenden können, ohne sich über die spezifischen Dialekte oder Unterschiede der verschiedenen DBMS-Anbieter Gedanken machen zu müssen. Im Grunde können Sie SQL-Abfragen für das DBMS ausführen, ohne herstellerspezifisches SQL zu schreiben.
Die ORM (Object Relational Mapper) ist ein Werkzeug, das Ihnen den Eindruck vermittelt, mit einer In-Memory-Datenstruktur zu arbeiten, die als Objektgraph mit zugehörigen Objekten dargestellt wird. Es vereinfacht die Anwendungslogik im Zusammenhang mit SQL-Operationen, indem das gesamte SQL entfernt und in die OOP-Logik abstrahiert wird. Doctrine 2 ORM behandelt einfach das Laden und Persistieren von POPO (Plain Old PHP Objects).
Sie können mehr über dieses Thema auf dem DBAL documentation und dem ORM documentation finden.