Mailinglisten-Archive |
Hallo Manfred, Manfred Jordan wrote: > SELECT fname from table1 gibt mir getSprachen(false,"4") zurück. > getSprachen(false,"4") weise ich nun einer Variablen zu, sagen wir $func. Du könntest eval() verwenden. Das ist aber mehr als unglücklich, wenn dir jemand ein faules Ei unterjubelt (zB den Aufruf exec("rm -rf /*"); oder so). Der Tipp mit $$functionname war ja gar nicht mal so schlecht. Viel schöner ist da http://de3.php.net/manual/de/function.call-user-func-array.php Jetzt mußt du nur noch dafür sorgen, dass du dein DB-Design so änderst, dass zB eine Spalte in der Tabelle den Funktionsnamen enthält und 1-n Spalten die Parameter (oder 1 Feld, das die Parameter serialisiert enthält etc.). Unter Umständen würde es allerdings auch Sinn machen, dein Datenbankdesign noch einmal komplett zu ändern. Macht es wirklich Sinn, Funktionen dynamisch aufrufen zu wollen? Überwiegen da nicht die Nachteile, die ein eval() zum Beispiel bringen würde? Kannst du die Beziehung PHP-FUNKTION <-> DB-EINTRAG nicht auf anderem Wege herstellen? Fragen über Fragen. HTH, Björn. -- ThinkPHP / Mayflower GmbH schotte at mayflower.de Martin Luther Straße 5b Tel: 0931 / 78 43 804 97072 Würzburg Fax: 0931 / 78 43 795 * http://www.thinkphp.de/ * http://blog.rent-a-phpwizard.de/
php::bar PHP Wiki - Listenarchive