⊗ppMVDFmRrIm 27 of 35 menu

Implementación de un enrutador en tu propio framework MVC

Ahora escribamos el esbozo de la clase Router de acuerdo con nuestras llamadas:

<?php namespace Core; class Router { private $routes; public function getTrack($routes, $uri) { // aquí estará el código } } ?>

En el método getTrack debemos determinar cuál de las rutas corresponde a este $uri. Para ello, necesitamos recorrer nuestro array de rutas con un ciclo:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { // verificación de $uri y $route } } } ?>

Si alguna ruta coincide con el URI, nosotros debemos obtener de este URI los valores de los parámetros de la ruta y devolver un objeto de la clase Track:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { if (verificación de coincidencia de la ruta y el URI) { $params = ; // necesitamos obtener los parámetros del uri return new Track($route->controller, $route->action, $params); } } return new Track('error', 'notFound'); // si ninguna ruta coincide } } ?>

Copie mi esbozo de la clase Router y colóquelo en el archivo /core/Router.php.

Implemente la clase descrita Router, que devuelva como resultado un objeto de la clase Track. Si experimenta dificultades (lo cual es muy probable), consulte el código fuente del framework con el que estudió el uso de MVC. Allí, en la clase Router, encontrará la parte faltante de la implementación y mis comentarios sobre ella.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar