⊗ppMVDFmRrIm 27 of 35 menu

Implementierung eines Routers in einem eigenen MVC-Framework

Lassen Sie uns nun einen Entwurf der Klasse Router gemäß unseren Aufrufen schreiben:

<?php namespace Core; class Router { private $routes; public function getTrack($routes, $uri) { // hier wird Code stehen } } ?>

In der Methode getTrack müssen wir bestimmen, welche der Routen der gegebenen $uri entspricht. Dazu müssen wir unser Array mit Routen in einer Schleife durchgehen:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { // Prüfung von $uri und $route } } } ?>

Wenn eine Route der URI entspricht, müssen wir aus dieser URI die Werte der Routenparameter erhalten und ein Objekt der Klasse Track zurückgeben:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { if (Prüfung der Übereinstimmung von Route und URI) { $params = ; // Parameter müssen aus der uri geholt werden return new Track($route->controller, $route->action, $params); } } return new Track('error', 'notFound'); // wenn keine Route passt } } ?>

Kopieren Sie meinen Entwurf der Klasse Router und platzieren Sie ihn in der Datei /core/Router.php.

Implementieren Sie die beschriebene Klasse Router, die als Ergebnis ein Objekt der Klasse Track zurückgibt. Falls Sie auf Schwierigkeiten stoßen (was sehr wahrscheinlich ist), schauen Sie im Quellcode des Frameworks nach, anhand dessen Sie die Verwendung von MVC gelernt haben. Dort finden Sie in der Klasse Router den fehlenden Teil der Implementierung und meine Kommentare dazu.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen