Hi Leute,
ich schreibe gerade ein kleines CMS.
Dabei gibt es einmal die "Standard"-Version und dann weitere Plugins, die die Seite um einige Funktionen erweitern soll.
Dabei würde auf bestehenden Seiten beispielsweise bei jedem Plugin eine weitere Spalte in einer Tabelle eingefügt und woanders eine entfernt.
Die Tabelle würde dynamisch aus einer Datenbank erzeugt werden.
Wie kann man das am besten umsetzen, sodass man auch 2 Plugins verwenden kann, ohne dass die sich sozusagen gegenseitig behindern.
Ich würde etwas wie folgt versuchen:
index.php
[src=php]<?php
//Standard-Werte
$val_arr = array(val1, val2, val3, val4);
if($existPlugin) {
foreach($pluginList as $plugin) {
include('/plugins/'.$plugin.'/'/*Dateiname*/);
}
}
$sql = "SELECT implode($val_arr, ',') FROM"/*...*/;
/*...*/
foreach($rows as $row) {
echo "\n<tr>\n";
foreach($row as $value) {
echo "\n\t<td>".$value."</td>\n";
}
echo "\n</tr>\n";
}
/*...*/
?>[/src]
plugins/PLUGIN//*Dateiname*/
[src=php]<?php
/*...*/
$val_arr = array_merge($val_arr, $plugin_val);
$key = array_search($bad_val, $val_arr);
if($key !== false) unset($val_arr[$key]);
/*...*/
?>[/src]
Doch was mache ich, wenn ich zwei Plugins habe, die entsprechend die Ausgabewerte in einer bestimmten Reihenfolge in die Tabelle schreiben sollen, also beispielsweise plugin_val-1 nach val2, val3 wird entfernt und plugin_val-2 nach val3.
Zudem: Muss ich für jede meiner "Standard-Dateien" eine eigene Datei schreiben, die ich dann einbinden lassen würde - oder ist es sinnvoller alles in eine Plugin-Datei zu schreiben und dann diese Datei (mit teils überflüssigen Sachen) in jede Standard-Datei einbinden zu lassen?
Ist der Ansatz überhaupt sinnvoll?
LG
ich schreibe gerade ein kleines CMS.
Dabei gibt es einmal die "Standard"-Version und dann weitere Plugins, die die Seite um einige Funktionen erweitern soll.
Dabei würde auf bestehenden Seiten beispielsweise bei jedem Plugin eine weitere Spalte in einer Tabelle eingefügt und woanders eine entfernt.
Die Tabelle würde dynamisch aus einer Datenbank erzeugt werden.
Wie kann man das am besten umsetzen, sodass man auch 2 Plugins verwenden kann, ohne dass die sich sozusagen gegenseitig behindern.
Ich würde etwas wie folgt versuchen:
index.php
[src=php]<?php
//Standard-Werte
$val_arr = array(val1, val2, val3, val4);
if($existPlugin) {
foreach($pluginList as $plugin) {
include('/plugins/'.$plugin.'/'/*Dateiname*/);
}
}
$sql = "SELECT implode($val_arr, ',') FROM"/*...*/;
/*...*/
foreach($rows as $row) {
echo "\n<tr>\n";
foreach($row as $value) {
echo "\n\t<td>".$value."</td>\n";
}
echo "\n</tr>\n";
}
/*...*/
?>[/src]
plugins/PLUGIN//*Dateiname*/
[src=php]<?php
/*...*/
$val_arr = array_merge($val_arr, $plugin_val);
$key = array_search($bad_val, $val_arr);
if($key !== false) unset($val_arr[$key]);
/*...*/
?>[/src]
Doch was mache ich, wenn ich zwei Plugins habe, die entsprechend die Ausgabewerte in einer bestimmten Reihenfolge in die Tabelle schreiben sollen, also beispielsweise plugin_val-1 nach val2, val3 wird entfernt und plugin_val-2 nach val3.
Zudem: Muss ich für jede meiner "Standard-Dateien" eine eigene Datei schreiben, die ich dann einbinden lassen würde - oder ist es sinnvoller alles in eine Plugin-Datei zu schreiben und dann diese Datei (mit teils überflüssigen Sachen) in jede Standard-Datei einbinden zu lassen?
Ist der Ansatz überhaupt sinnvoll?
LG