Ok, also ich fasse zusammen:
Der falsche Weg:
// Aus URL zusammengebaut
$SeitenMeinerWebseite->MeineGalerie->MeineUrlaubsbilder = true;
if($SeitenMeinerWebseite->MeineGalerie->MeineUrlaubsbilder)
{
require_once("BilderinfosAusDatenbankHolen.php");
require_once("HTMLVorlageFuerDieGalerieEinbinden.php");
require_once("DatenbankinfosUndVorlageZusammenfuehren.php");
require_once("VorlageMitGeneriertenDatenAusgeben.php");
}
else
{
require_once("HTMLVorlageFuerVolltextSucheEinbinden.php");
require_once("VorlageMitGeneriertenDatenAusgeben.php");
}
Der richtige Weg:
// String aus $_SERVER geholt
$MeineAufgerufeneSeite = "MeineWebseite/MeineGalerie/MeineUrlaubsbilder";
if($MeineAufgerufeneSeite == "MeineWebseite/MeineGalerie/MeineUrlaubsbilder")
{
require_once("BilderinfosAusDatenbankHolen.php");
require_once("HTMLVorlageFuerDieGalerieEinbinden.php");
require_once("DatenbankinfosUndVorlageZusammenfuehren.php");
require_once("VorlageMitGeneriertenDatenAusgeben.php");
}
else
{
require_once("HTMLVorlageFuerVolltextSucheUeberGanzeWebseiteEinbinden.php");
require_once("VorlageMitGeneriertenDatenAusgeben.php");
}
Wäre an dieser Stelle auch folgender Code richtig?
$MeineWebseite = new cWebseite();
// legt eine Liste aller aufrufbaren Unterseiten meiner Webseite an. Die Liste ist eine private Variable in der Klasse, meinetwegen ein Array
$MeineWebseite->AufrufbareWebseiteHinzufuegen("MeineWebseite/MeineGalerie/MeineUrlaubsbilder");
$MeineWebseite->AufrufbareWebseiteHinzufuegen("MeineWebseite/MeinBlog");
...
// Sagt der Klasse welche Seite nun aufgerufen wurde, schaut in der klasseninternen Variable, in welcher alle möglichen Seiten drinnen sind nach ob diese Seite existiert und erzeugt die Seite dann wie bei "Der richtige Weg" beschrieben, oder gibt eben ne Fehlerseite mit einer Volltextsuche zurück. Rückgabewert ist in jedemfall ein String mit der gesamten Webseite.
echo $MeineWebseite->get_Webseite("MeineWebseite/MeineGalerie/MeineUrlaubsbilder");
Oder ist das schon wieder der falsche Ansatz, wenn ich versuche zu abstrahieren, ich meine die Klasse ist ja verallgemeinert, man kann beliebige Unterseiten hinzufügen.
Und diese dann mittels der get-Methode aufrufen.
Man müsste halt in der GET-Methode für jede existierende Webseite einen Fall via switch / case oder ifelse definieren, der die notwendigen Scripte zur Erstellung der übergebenen Webseite aufruft.
Zu deiner Fragen:
Aber ich habe doch eine Variable:
$url = $_GET["side"];
$sides = explode("/",$url);
Warum legst du eine Kopie der URL in $url an, obwohl sie doch schon in $_GET["side"] enthalten ist?
$url ist kürzer. Und selbst als Programmierguru müsstest du doch trotzdem als Mensch zugeben das man sich kürzere Sachen besser merken kann als längere, oder?
Ich dachte mir das es den Quelltext leichter verständlich macht. Das war zumindest meine Intention :-)
Aber da du so fragst ist das mal wieder grundlegend falsch, was? :-(
Zu meinem Anfangsproblem:
Da es sich wohl um ein Grundsatzproblem handelt werde ich wohl alles nochmal neu überdenken müssen.
Ich gehe mal davon aus das es unabhängig von dem Grad der Sinnvollkeit wohl so auch nicht möglich ist ein eindimensionales Array in ein mehrdimensionales Array zu konvertieren, zumal du ja sagtest das die Begrifflichkeiten hier fehl am Platze und auf Objekte garnicht anwendbar sind.
Ich wollte mich noch bedanken, dafür das du dir so viel Zeit nimmst :-)