Bei der Entwicklung eines benutzerdefinierten CMS müssen Sie den Administratoren möglicherweise ermöglichen, multi -Level -benutzerdefinierte Pfade für verschiedene Inhaltstypen zu definieren. Zum Beispiel müssen Sie möglicherweise Wege wie "Meine neuen Hunde in den Nachrichten" oder "I -Konferenz zum Vorfall Meeting" für Artikel erstellen. Um dieses Problem zu lösen, können Sie in Betracht ziehen, benutzerdefinierte
-Subklassen zu verwenden.
RouteBase
CustomPageroute: Benutzerdefiniertes Routing
realisieren Erstellen Sie eine Klasse namens , wie Vererbung aus
. Wiederwarten Sie die Methoden und , um benutzerdefinierte Routing zu verarbeiten.
CustomPageRoute
In bestimmen Sie den Übereinstimmungspfad aus der Anfrage. Wenn Sie das übereinstimmende Element finden, erstellen Sie ein RouteBase
Objekt für den entsprechenden Controller und den Betrieb. GetRouteData
GetVirtualPath
In finden Sie die Übereinstimmungsseite aus der Seite Set. Wenn Sie das übereinstimmende Element finden, geben Sie ein
GetRouteData
Registrieren Sie ein benutzerdefiniertes Routing RouteData
Verwenden Sie , um GetVirtualPath
in den MVC zu registrieren. Um eine bessere Leistung zu erzielen, stellen Sie sicher, dass Sie eine URL für Kleinbuchstaben verwenden. Aus der Standardroute für andere URLs. VirtualPathData
Erstellen Sie eine
mit Betriebsmethode. Hier befindet sich die Anwendungslogik, die sich der benutzerdefinierte Pfad verarbeitet. routes.Add
CustomPageRoute
Beispielcode
unter der grundlegenden Implementierung der Klasse:
Verwenden Sie die MVC -Registrierungsroute: Details
CustomPageController
erstellen :
CustomPageRoute
Mit dieser Lösung können Sie einen flexiblen multi -Level -benutzerdefinierten Pfad erstellen und gleichzeitig die Vorteile der MVC -Route beibehalten.
Das obige ist der detaillierte Inhalt vonWie implementieren Sie ein multi-Level-kundenspezifischer Routing in MVC?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!