Jaroslav Jablonski: PHP Befehle und Funktionen in den Tabellen verwenden

Beitrag lesen

Du möchtest in einer DB hinterlegten PHP-Code ausführen? Dann überdenke das Datenbankdesign, es ist Scheiße.


Der Schuß ins Blaue saß, ficht dich das an? Sorry, aber dann bist du in der falschen Branche.

Du hast die frage richtig verstanden, ich möchte im DB hinterlegten Text PHP Code ausführen, ich hatte die Formulierung nur nicht hingekriegt.

Ich habs immer noch nicht kapiert, was steht denn in der DB? Der Code? Dann bleine ich dabei, daß dein Design scheiße ist, nimms hin und lies weiter oder schmeiß weiter mit Dreck nach mir, das ist mir egal.

Also: beschäftige dich zuallererst mit dem Schichtenmodell (http://de.wikipedia.org/wiki/Schichtenmodell). Das, was ich bemängele ist die fehlende Abstraktion zwischen Datenhaltungs- und Verarbeitungsschicht, evtl. mischst du auch noch ein bißchen Präsentationsschicht rein.

Die Datenhaltungsschicht weiß nichts von der Verarbeitungsschicht, sie muß ihr auf gut deutsch scheißegal sein. Ihre einzige Aufgabe ist, die Daten, die einer Software zugrundeliegen, zu speichern. Das ganze nach den allgemeingültigen Regeln, verwendest du ein DBMS, wäre bspw. oberste Regel Normalisierung. Was auf keinen Fall eine Rolle spielen darf ist, wie die Verarbeitungsschicht (in deinem Fall ja wohl PHP) funktioniert. Die Datenhaltungsschicht muß so abstrahiert aufgebaut sein, daß jede Art von Verarbeitungsschicht damit umgehen kann. Wenn in deiner DB sowas wie "echo 'test'" steht, dann wird dir eine auf JAVA basierende Verarbeitungsschicht einen Vogel zeigen. Deshalb ist eine DB-Design, das auszuführenden Code enthält, Blödsinn.

So, jetzt habe ich aber genug geschissen, mach mit den Infos was du willst, aber jammer nicht irgendwann rum, daß du`s nicht gewußt hast. Spätestens, wenn echo in PHP 7.x nicht mehr das tut, was du erwartest, wird dir dein DB-Design um die Ohren fliegen.

Und eine Entschuldigung für deine verbalen Ausfälle erwarte ich nicht wirklich...

~JJ