MySQL-Abfrage(n) |
|
1 |
SELECT b.bestellungID,b.bestellungDatum,p.p_name FROM `bestellungen` as b INNER JOIN `praemie` as p ON b.p_id = p.p_id WHERE b.bestellungID = :bid OR b.bestellungZeitraum > :timestampGestern |
PHP-Quelltext |
|
1 2 3 4 5 6 7 8 |
<?php
$queryBuilderSELECT = new lkdevelopment\QueryBuilder();
$queryBuilderSELECT->select("b.bestellungID", "b.bestellungDatum","p.p_name")
->from("bestellungen", "b")
->innerJoin("praemie", "p", "b.p_id = p.p_id")
->where("b.bestellungID = :bid")
->orWhere("b.bestellungZeitraum > :timestampGestern");
?>
|
MySQL-Abfrage(n) |
|
1 |
SELECT b.bestellungID,b.bestellungDatum,p.p_name FROM `bestellungen` as b INNER JOIN `praemie` as p ON b.p_id = p.p_id WHERE b.bestellungID = :bid OR b.bestellungZeitraum > :timestampGestern |
Wenn tatsächlich ein komplexes SQL auf einem relationalem Modell geschrieben wird, wird immer zuerst die Query geschrieben und getestet. Erst dann wird das Query in die Programmlogik eingebunden und die Verarbeitung auf das Resultat entwickelt. Also warum sollte man die SQL-Syntax dann noch in die PHP-Syntax umschreiben?
Zum Vergleich zu den von dir genannten Frameworks: Doctrine zum Beispiel ist ein ORM. Das bedeutet, dessen Nutzen ist, dass ein Objektmodell in ein relationales Modell gespeichert und wieder geladen werden kann. Es dient nicht dazu, ein einfaches Statement auf einem relationalem Modell zu bilden sondern es transformiert die objektorientierte Welt in die relationale Welt.
Nun, Geschmack liegt bekanntlich im Auge des Betrachters. Eigentlich hat die Klasse auch noch einen weiteren Zweg, da sie auch zeitgleich für das Ausführen der Querys zuständig ist. Das habe ich hier aber bewusst mal raus genommen.
Weil er einfacher zu lesen ist bzw. schneller [...]
Es bringt nur kleinere Vorteile von einem ORM (z.b. das einfache und verständliche Bauen von Querys)