Felix Riesterer: PDO: Dynamische Read- und Write-Funktion schreiben

Beitrag lesen

Lieber borisbaer,

wenn Du ein Model hast, ist das dann nicht eine Repräsentation eines Datenobjektes?

Ein entsprechender Aufruf wäre zum Beispiel: $releases = Model::read( 'releases', 'id, value, game', [ 'game' => $page ] );

Also für mich sieht das so aus, als sei ein Release ein Objekt. Dieses darf dann auch „selber wissen“, wie man hierfür die DB genau bespielen muss. Das Release-Objekt „kennt“ dann auch die DB-Struktur und kann darauf maßgeschneiderten SQL-Code generieren.

foreach (Release::get_all() as $r) {
  echo "Game: ", $r->game, PHP_EOL;
  echo "Year: ", $r->date, PHP_EOL;
}

$n = new Release();
$n->game = 'The Witcher 3';
$n->date = '2015-05-18';
$n->save();

Das, was Du mit id sozusagen von Hand notierst, weil Deine read-Methode für „Handbetrieb“ ausgelegt ist, muss die Release-Klasse selbst intern managen. Dafür kennt sie die Tabellenstruktur.

P.S.: Soweit ich gelesen habe, ist es nicht nötig, filter_input zu verwenden, wenn man mit PDO arbeitet, oder?

Eine Geschichte vom Hörensagen... Hast Du Dich erkundigt, was der Sinn hinter filter_input ist und wofür Du es wirklich(!) benötigst?

Liebe Grüße

Felix Riesterer