Hi,
also von dem case und switch Sachen möchte ich dir mal abraten, ich hab bisher damit nur schlechte Erfahrungen gemacht.
Diese Möglichkeit ist schon wesentlich besser
PHP:
if( file_exists($_GET['site'].'.php') )
include($_GET['site'].'.php');
du solltest aber ein sowas wie eine Standard Datei wählen die includet wird wenn die Datei nicht existiert, und die Überprüfung mit file exists is auch überflüssig.
Try this
PHP:
if(!include($_GET['site'].'.php') ) include('default.php');
Daraus würde sich eine gewissen Struktur ergeben.
Der obere Code steht in dem Einstiegspunkt deines PM Systems.
Dort kannst du auch Grundfunktionen definieren die du in mehreren Unterseiten benötigst.
In den Includeten Daten sind die abschnitte die für das anzeigen des zb Posteingangs wichtig sind.
Dadurch bleibt dein Code sehr übersichtlich. Am Anfang ist das zwar egal aber geh immer davon aus das deine Projekte wachsen werden und halt dir entsprechende Möglichkeiten offen.
Wenn du jetzt alles in eine Datei schreiben würdest und das ganze immer weiter erweiterst zb um Postausgang, Einstellungen, Blocklisten, Rundmails und was es noch alles an Spielerei von PMs gibt, wird dein Code sehr schnell unleserlich und verwirrend.
Optimal hierfür ist natürlich wieder OOP, denn da icludest du einfach alle Datein und Erweiters den "PM Object" dann nur noch um die entsprechenden Funktionen.
Hier mal nen Code Beispiel grob verkürzt um das ganze in Code zu fassen
PHP:
abstract class Pm {
// Instanzieren der Grundfunctionen und Variablen
public $example;
public function foo() {
// Irgend welche Aufghaben
// zb Badword filter
}
}
class Postin extends Pm {
// variablen für den Posteingang
public function __ construct () {
// zB. laden der Liste mit neuen Nachrichten
}
}