Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#62

AW: [PHP] Klassenstruktur für Adressdatenbank

  Alt 24. Mär 2012, 01:01
Das Routing läuft jetzt anders als du es gewohnt bist. Eine Erklärung habe ich vor 2 Jahren in meinem Blog veröffentlicht.
So ähnlich mache ich es in dem kleinen CMS, das ich schreibe, auch. Allerdings bin ich gar nicht drauf gekommen, dass man direkt benannte Sub-Patterns für die Parameter-Zuordnung verwenden kann. Was ich bisher mache, ist etwas komplizierter; und zwar habe ich eine eigene kleine Syntax entworfen, die dann in PREG „kompiliert“ wird. Ein Mapping sieht in dieser Syntax z.B. so aus:
Code:
PrettyUrlParser::$mappings = array(
    'blog/tags/{tag}/{page!}'              => 'BlogOverview',
    'blog/tags/{tag}'                      => 'BlogOverview',

    'blog/page/{page!}'                    => 'BlogOverview',
    'blog/'                                => 'BlogOverview',
    'blog'                                 => 'BlogOverview',

    'blog/{id}-{name!}'                    => 'BlogSingle',
    'blog/{id}'                            => 'BlogSingle'
);
Wobei das Ausrufezeichen bedeutet, dass an der Stelle kein leerer Ausdruck zugelassen ist.

Einen Vorteil hat das ganze allerdings, nämlich funktioniert das ganze auch sehr leicht rückwärts – ich kann einfach ein Parameter=>Wert-Array automatisch in die dafür konfigurierte URL umwandeln. Wobei das mit der benannten Regex-Syntax sicherlich auch ginge, nur wäre der Parser dann wohl etwas komplexer...

Fazit: Immer wieder schön zu sehen, dass es verschiedene Wege gibt, die zum Ziel führen
  Mit Zitat antworten Zitat