Hallo Linuchs,
in einer von mir mit betreuten Anwendung hat der Autor etwas ähnliches gemacht. Da gibt es Wettkämpfe, und jeder Wettkampftyp wird durch eine bestimmte PHP Datei verwaltet. Er hat also in der DB eine Tabelle, wo steht: Wettkampftyp 1 ist "Team-Ibsen" [1] und wird von ibsen_1.php verwaltet. D.h. macht man eine neue Version von ibsen_1.php, kann man ibsen_2.php hochladen und Test-Wettkämpfe mit Typ 2 anlegen. Nach Freigabe von ibsen_2 wird dann der Default-Wettkampftyp für "Team-Ibsen" auf 2 geändert und der neue Code ist live. Schien zu Beginn sehr praktisch und sinnvoll, endet aber am Ende doch in einer Versions Hölle sondergleichen. Man hat alte Wettkämpfe im Archiv und muss den Code dafür online halten. Not Good, wie Happy Quinn zu sagen pflegt.
Deine Frage, welcher Code von was verwendet wird, sollte sich relativ leicht durch ein grep beantworten lassen, das alle include und require heraussucht - es sei denn, du hast sowas wie include($xyModul)
in deinen Programmen stehen. Oder Du verwendest weitere Tools, die Code nachladen (z.B. Composer oder ein Class-Autoloader). Dagegen hilft dann nur Ordnung und Dokumentation, und im Zweifelsfall geduldiges Nachdokumentieren.
Aber den grep include|require brauchst Du eh, wenn Du deinen "Code-From-DB" Loader einbauen willst, oder? Deswegen sehe ich ebenfalls noch nicht den Nutzen. Aber wenn Du's tun willst - mach eine Funktion, die den Code aus der DB nach php://temp schreibt und dann von dort includet. Gemäß dieser Beschreibung sollte das möglich sein.
Rolf
sumpsi - posui - clusi
Kennen Sie Ibsen? Nein, wie geht denn das? ↩︎