Hallo Rolf,
Lies doch erst mal im PHP Handbuch bevor Du fragst 😟
meinst du den folgenden Auszug:
PDO::FETCH_CLASS: returns a new instance of the requested class, mapping the columns of the result set to named properties in the class, and calling the constructor afterwards, unless PDO::FETCH_PROPS_LATE is also given. If mode includes PDO::FETCH_CLASSTYPE (e.g. PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE) then the name of the class is determined from a value of the first column.
Tut mir leid, da bleiben bei mir trotzdem viele Fragen offen. Wo müssen die entsprechenden Properties stehen? Im Constructor? Das müsste mir jemand einfacher erklären.
Wenn Du eine Klasse 'Release' erstellst, möchtest Du doch, dass PDO Dir Objekte dieser Klasse erzeugt.
FETCH_CLASS bewirkt, dass automatisch ein Objekt der angegebenen Klasse erstellt wird. Deswegen auch $className als zusätzlicher Parameter. Du hattest FETCH_ASSOC, dann entsteht ein assoziatives Array und man braucht keinen weiteren Parameter.
Wahrscheinlich eignet sich das für mich bei dieser Tabelle gar nicht, weil sie Daten aus zwei Quellen einspeist (JSON-Datei und Datenbank-Tabelle, siehe hier). Aus diesen beiden Quellen merge ich ein Array, dass dann die HTML-Tabelle ausgibt.
Das sollte eine Story zum Thema "epic fail durch over-engineering" sein. Over Engineering findet statt, wenn man zulässt, dass sich kreative Architekten in einer Software austoben und nicht drüber nachdenken, ob alles, was man tun KANN, auch das ist, was man tun SOLLTE.
Das kann ich als Nicht-ITler selten bzw. nie beurteilen, wann die Grenze zum over-engineering überschritten ist. 🤷♂️
Grüße
Boris