⊗ppMVDFmRrIm 27 of 35 menu

Υλοποίηση δρομολογητή στο δικό σας MVC framework

Ας γράψουμε τώρα το πρότυπο της κλάσης Router σύμφωνα με τις κλήσεις μας:

<?php namespace Core; class Router { private $routes; public function getTrack($routes, $uri) { // εδώ θα είναι ο κώδικας } } ?>

Στη μέθοδο getTrack πρέπει να καθορίσουμε ποια διαδρομή αντιστοιχεί σε αυτό το $uri. Για αυτό, πρέπει να διατρέξουμε τον πίνακα με τις διαδρομές μας με έναν βρόχο:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { // έλεγχος $uri και $route } } } ?>

Εάν κάποια διαδρομή αντιστοιχεί στο URI, πρέπει να λάβουμε από αυτό το URI τις τιμές των παραμέτρων της διαδρομής και να επιστρέψουμε ένα αντικείμενο της κλάσης Track:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { if (έλεγχος αντιστοιχίας διαδρομής και URI) { $params = ; // πρέπει να ληφθούν παράμετροι από το uri return new Track($route->controller, $route->action, $params); } } return new Track('error', 'notFound'); // εάν καμία διαδρομή δεν ταιριάζει } } ?>

Αντιγράψτε το πρότυπο της κλάσης Router και τοποθετήστε το στο αρχείο /core/Router.php.

Υλοποιήστε την περιγραφόμενη κλάση Router, η οποία να επιστρέφει ως αποτέλεσμα ένα αντικείμενο της κλάσης Track. Εάν αντιμετωπίσετε δυσκολίες (κάτι που είναι πολύ πιθανό), κοιτάξτε στον πηγαίο κώδικα του framework με το οποίο μελετήσατε τη χρήση του MVC. Εκεί, στην κλάση Router θα βρείτε το missing μέρος της υλοποίησης και τα σχόλιά μου για αυτήν.

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη