⊗ppMVUFmRP 8 of 35 menu

Parámetros en rutas en MVC en PHP

En la lección anterior nuestras rutas tenían direcciones fijas. En realidad, el mecanismo de enrutamiento es más complejo: se puede hacer que parte de la URI de la página caiga en parámetros nombrados, accesibles luego en el controlador.

Supongamos, por ejemplo, que nuestras direcciones se vean así: /test/param1/param2/, donde param1 y param2 son cadenas arbitrarias. Al mismo tiempo, queremos que las direcciones de este tipo sean manejadas por una misma acción del controlador. Para ello, se debe inventar un nombre para el parámetro y colocar dos puntos antes del mismo, así:

<?php use \Core\Route; return [ new Route('/test/:var1/:var2/', 'page', 'act'), ]; ?>

En nuestro caso, resultará que todas las peticiones del tipo /test/parámetro1/parámetro2/ llegarán a la acción act. Al mismo tiempo, al primer parámetro de esta acción le llegará un array asociativo con los parámetros: el texto que esté en lugar del primer parámetro, caerá en el elemento del array con la clave 'var1', y el texto del segundo parámetro - en 'var2'.

Supongamos, por ejemplo, que en la barra de direcciones se ingresa lo siguiente: /test/eee/bbb/. Veamos què contendrá el primer parámetro de la acción:

<?php namespace Project\Controllers; use Core\Controller; class PageController extends Controller { public function act($params) { var_dump($params); // ['var1' => 'eee', 'var2' => 'bbb'] } } ?>

Cree el controlador NumController, y en él - la acción sum. Que esta acción maneje direcciones del siguiente tipo: /nums/:n1/:n2/:n3/, donde los parámetros serán algunos números. Haga que en la pantalla se muestre la suma de los números transmitidos.

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