Tach!
ich hab versucht in den PDO Attributen das Attribut
PDO::ATTR_DEFAULT_FETCH_MODE
mitPDO::FETCH_CLASS
zu modifizieren. Aber ich weis nichtr wie ich zusätzlich noch die defeniertte Klasse in dieses PDO Attribut hinein verfrachten kann :/.
Ich sehe keinen Sinn darin, eine Default-Klasse für die gesamte Verbindung anzugeben. Das haben sich die PDO-Erfinder wohl auch so gedacht und haben PDOStatement::setFetchMode() eingebaut, denn was man da als Klasse haben möchte, ist ja abhängig vom konkreten Statement.
Ich habs dann so gemacht…
public static function fetchClass( $class ) : void { self::$_attributes = [ PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_CLASS | $class ]; }
…mit kläglichem Ergebnis…
Was soll auch dabei rauskommen, wenn du einen Integerwert und einen Klassennamen mit einem bitweisen Oder verknüpfst?
PS: neben bei gefragt: wie kann man eigentlich Klassen als Typ spezifizieren?
Bitte? Eine Klasse ist ein Typ. Meinst du vielleicht, wie man einen Klassennamen als Parameter übergeben kann? Also da die Funktion einen String haben möchte, wie man aus einer Klasse deren Namen als String bekommt? Das wäre ::class.
dedlfix.