iAZ
Mitglied
Hallo, ich bins mal wieder.
Ich schreib gerade an meinem CMS rum und hab ein kleines Problem.
Ich versuch möglichst viel OOP zu programmieren und hab im CMS die möglichkeit eingebaut, eigene Module zu benutzen. Die Module liegen als Klassen vor.
Hier eine Beispielklasse:
foo.module.php:
Die make-Funktion ist bei allen modulen dieselbe...
Nun hole ich mir den Modulnamen, also "foo" aus der Datenbank. Die Datei wird per include-befehl eingefügt.
Normalerweise würde jetzt ein:
folgen.
Doch ich kann ja nicht überall für alle Module diesen Code schreiben...
Theoretisch ginge es per:
Doch eval werde ich garantiert nicht anwenden!
geht das auch eleganter?
Ich hab den Namen der Klasse in einer Variable stehen und möchte die Klasse aufrufen.
Oder soll ich in den Moduldateien eine Klasse haben und danach den aufruf?
Danke, iAZ
Ich schreib gerade an meinem CMS rum und hab ein kleines Problem.
Ich versuch möglichst viel OOP zu programmieren und hab im CMS die möglichkeit eingebaut, eigene Module zu benutzen. Die Module liegen als Klassen vor.
Hier eine Beispielklasse:
foo.module.php:
PHP:
class foomodule{
function make(){
echo "Hello World";
}
}
Nun hole ich mir den Modulnamen, also "foo" aus der Datenbank. Die Datei wird per include-befehl eingefügt.
Normalerweise würde jetzt ein:
PHP:
$foomodule=new foomodule();
$foomodule->make();
Doch ich kann ja nicht überall für alle Module diesen Code schreiben...
Theoretisch ginge es per:
PHP:
eval("\$".$modulename."=new".$modulename."();"
."\$".$modulename."->make()");
geht das auch eleganter?
Ich hab den Namen der Klasse in einer Variable stehen und möchte die Klasse aufrufen.
Oder soll ich in den Moduldateien eine Klasse haben und danach den aufruf?
PHP:
$foomodule=new foomodule();
$foomodule->make();
Danke, iAZ