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