Signatur
Beschreibung
Yaf_Route_Static ist die einfachste Route-Implementierung im Yaf-Framework. Sie prüft, ob der angeforderte URL-Pfad exakt mit einem vordefinierten, unveränderlichen Pfad übereinstimmt. Dynamische Platzhalter oder reguläre Ausdrücke sind hier nicht vorgesehen – es wird buchstäblich auf Zeichenkettengleichheit geprüft.
Diese Klasse implementiert das Interface Yaf_Route_Interface und kann daher direkt dem Router über Yaf_Router::addRoute() hinzugefügt werden. Sie eignet sich besonders für fest definierte, unveränderliche URLs wie /about, /contact oder /imprint, bei denen keine variablen Parameter erwartet werden.
Im Gegensatz zu Yaf_Route_Regex oder Yaf_Route_Map bietet Yaf_Route_Static keinerlei Variablen-Extraktion aus dem Pfad. Der Vorteil liegt in der maximalen Performance und Einfachheit bei rein statischen Pfaden.
- Passt nur bei exakter Pfadübereinstimmung.
- Kein Overhead durch reguläre Ausdrücke oder Muster.
- Ideal für Landing-Pages, Impressum, Datenschutz o. ä.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $route Pflicht | string | Der statische URL-Pfad, der abgeglichen werden soll, z. B. /about/team. Der Pfad muss exakt mit dem angeforderten URI übereinstimmen. |
Rückgabewert
Beispiele
Statische Route für eine Impressum-Seite registrieren
<?php
// Bootstrap oder Routing-Konfiguration
$router = Yaf_Dispatcher::getInstance()->getRouter();
// Statische Route: /imprint wird auf ImprintController::indexAction() gemappt
$staticRoute = new Yaf_Route_Static('/imprint');
$router->addRoute('imprint', $staticRoute);
// Bei einer Anfrage an http://example.com/imprint
// wird der Router diese Route matchen und
// den ImprintController mit der indexAction aufrufen.
Mehrere statische Routen kombinieren
<?php
$router = Yaf_Dispatcher::getInstance()->getRouter();
// Verschiedene statische Seiten registrieren
$routes = [
'about' => '/about',
'contact' => '/contact',
'privacy' => '/privacy-policy',
];
foreach ($routes as $name => $path) {
$router->addRoute($name, new Yaf_Route_Static($path));
}
// Anfrage an /contact wird auf ContactController::indexAction() weitergeleitet
// Anfrage an /about wird auf AboutController::indexAction() weitergeleitet
// Wichtig · Fallstricke
Exakte Übereinstimmung: Yaf_Route_Static matcht nur bei exakter Übereinstimmung des Pfades. Trailing Slashes oder abweichende Groß-/Kleinschreibung können dazu führen, dass die Route nicht greift. Stellen Sie sicher, dass eingehende URLs normalisiert werden.
Keine Parameter-Extraktion: Anders als Yaf_Route_Rewrite oder Yaf_Route_Regex können mit dieser Route keine URL-Parameter extrahiert werden. Für dynamische Segmente muss eine andere Route-Klasse genutzt werden.
Reihenfolge beachten: Yaf evaluiert Routen in umgekehrter Registrierungsreihenfolge (LIFO). Zuletzt hinzugefügte Routen werden zuerst geprüft. Statische Routen sollten daher nach allgemeineren Routen registriert werden, damit sie Vorrang erhalten.