Christoph Zurnieden: URI als sicherer Parameter

Beitrag lesen

Hi,

[...] Auch wenn ich eine Einsicht seitens des OP trotz allem bezweifele ;-)

von SCHMECKEN kann keine Rede sein. Das ganze läuft auf CMS hinaus.
Die Vorgabe für den Laien sind

  • bestimmtes Verzeichnis für die neue Datei
  • und der Dateiname im Format a21.any name.e.php
  • mit a21. bestimme ich später die Reihenfolge für die automatisch Navigation
  • mit .e. die Sprache
  • ich will nicht Parameter im üblichen Sinne (?bla=bla), da ich diese erst in einem Link verwenden kann.

Was meinst Du, das ich jetzt antworte außer Q.E.D.?
Aber ich bin ja geduldig.
Dein Problem ist von Dir wie folgt beschrieben worden:

ich möchte gern meine Navigation per include in allen Dateien vereinheitlichen. Varianten möchte ich über spezielle Angaben im Dateinamen vornehmen.

Du möchtest Deine Navigation vereinheitlichen, machst es aber nicht, da Du sie spezialisierst. Möchtest Du sie nun spezialisieren oder vereinheitlichen? Sollen wir jetzt eine Münze werfen?
Wenn Du in jeder Datei die Navigation anpassen mußt, kannst Du sie nunmal nicht vereinheitlichen, so einfach ist das.
Aber das ist nur selten der Fall, meist sind ja nur ein paar Einträge variabel, der Rest steht. Das kann man automatisieren, das nennt man dann "Template". Ganz grob funktioniert das dann so (Pseudocode):

Template:
$menu = "<ul class="navilist">\ <li>$menuFirst</li>\ <li>$menuSecond</li>\ <li>$menuThirst</li>\ <li>$menuForth</li>\ <li>$menuFilth</li>\ </ul>";

individuelle Datei:
$menuFirst  = makeLink("Foo.html");
$menuSecond = makeLink("Bar.html");
$menuThirst = makeLink("Baz.html");
$menuForth  = makeLink("Foobar.html");
$menuFilth  = makeLink("Foobaz.html");
include("Template");
echo $header.$menu.$footer;

Das läßt sich natürlich frei variieren, ich wollte nur das Prinzip darstellen, wie bei der Problemstellung normalerweise vorgegangen wird:

  • suche den kleinesten gemeinsamen Nenner KGN
  • wenn keiner vorhanden: Ende.
  • suche die Variablen (den größten, nicht gemeinsamen Nenner) VAR
  • wenn keine vorhanden: Ende.
  • Belege VAR in jeder einzelne Datei und lagere KGN aus
    Alles weitere entscheidet die verwendete Sprache.

so short

Christoph Zurnieden