Lieber Besucher, herzlich willkommen bei: cms2day Forum - Community & Support rund ums cms2day. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.
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)