Felix Riesterer: Platzhalter in MySQL Funktionen

Beitrag lesen

Lieber pl,

die Lesbarkeit einfacher Platzhalter kann man recht einfach dadurch verbessern daß man alles schön untereinander schreibt:

das ist ein Layout-Aspekt. Der ist auch wichtig. Mir ging es aber darum, die Funktionsweise des Codes so zu beschreiben, dass man das auch nach Monaten Abstand auf Anhieb noch versteht. Da ist das Layout (oder von mir aus auch coding style) sicherlich nicht unerheblich, aber noch viel wichtiger finde ich, dass klar wird, was welcher Abschnitt wie und warum tut.

Du willst ein Tagesdatum in MySQL verwenden, das aus Tag, Monat und Jahr zusammengesetzt ist. Warum nur sollte man dafür eine concat-Funktion in SQL verwenden, anstatt das schon mundfertig in der Scriptsprache bereitzustellen? Deine Variablennamen $d, $m, $y kann man sicher schön untereinander layouten, aber wofür sollen sie stehen und warum? Eine Variable $date ist da viel aussagekräftiger - auch im richtigen Layout! Und wenn Du Deinen SQL-Code nachvollziehen willst, ist ein to_days(:date) sicherlich aussagekräftiger, als ein to_days(concat(:y,'-',:m,'-',:d))!

Ich finde Deine Methode Moon::load in dieser Form ohnehin nicht clever gedacht:

function load($d,$m,$y, PDO $pdo)

Warum erwartest Du den Datumswert in seinen Einzelheiten (Tag, Monat und Jahr - und auch noch in dieser Reihenfolge?!?), anstatt als Datumswert (egal, ob ein DateTime-Objekt, UNIX-Timestamp oder Y-m-d-String)?

Liebe Grüße

Felix Riesterer