Platzhalter in MySQL Funktionen
bearbeitet von plhi Felix,
> Ich finde Deine Methode [`Moon::load`](https://rolfrost.de/fetchobjects.html) in dieser Form ohnehin nicht clever gedacht:
>
> > `function load($d,$m,$y, PDO $pdo)`{:.language-php}
>
> Warum erwartest Du den Datumswert in seinen Einzelheiten (Tag, Monat und Jahr - und auch noch ***in dieser Reihenfolge?!?***),
Die Antwort ist ganz einfach und steht auch so in meinem Artikel: Weil die Klasse `Moon` von der Klasse `Scaliger` erbt und der Konstruktor dieser Elternklasse das Datum als Tag, Monat und Jahr als Einzelwerte erwartet.
> anstatt als Datumswert (egal, ob ein DateTime-Objekt, UNIX-Timestamp oder `Y-m-d`-String)?
Mein Artikel zeigt die Anwendung der Methode [fetchObject()](https://www.php.net/manual/de/pdostatement.fetchobject.php):
~~~php
fetchObject('Moon', array($d,$m,$y));
# ^ Argumente für den Konstruktor
# ^ Name der Klasse desen Instanz zu erstellen ist
~~~
Wir haben also 2 Dinge zu beachten, einmal die Argumentenliste des Konstruktors und zum Anderen die Parameter eines SQL-Statements innerhalb der Klassenerweiterung. Nach außen hin jedoch ist diese Klassenerweiterung transparent und bekommt somit Tag, Monat, Jahr als Einzelwerte übergeben.
Meine API orientiert sich also an der Elternklasse.
MFG