⊗ppMVUFmRPA 9 of 35 menu

Aplicación de parámetros en rutas en MVC en PHP

Veamos la aplicación de lo descrito en un ejemplo más real. Supongamos que nuestro controlador PageController contiene un array de páginas (estos datos debería proporcionarlos el modelo, pero aún no hemos tratado los modelos, así que por ahora dejemos que los datos simplemente se almacenen en el controlador):

<?php namespace Project\Controllers; use Core\Controller; class PageController extends Controller { private $pages; public function __construct() { $this->pages = [ 1 => 'page 1', 2 => 'page 2', 3 => 'page 3', ]; } } ?>

Creemos una acción show que muestre en pantalla la página con un número específico (id):

<?php namespace Project\Controllers; use Core\Controller; class PageController extends Controller { private $pages; public function __construct() { $this->pages = [ 1 => 'page 1', 2 => 'page 2', 3 => 'page 3', ]; } public function show() { // aquí mostraremos la página con un número específico } } ?>

Supongamos que al acceder a la dirección /page/1/ se muestre el texto de la primera página, al acceder a la dirección /page/2/ - el texto de la segunda página y así sucesivamente. Creemos la ruta correspondiente:

<?php use \Core\Route; return [ new Route('/page/:id/', 'page', 'show'), ]; ?>

Implementemos el método descrito show:

<?php namespace Project\Controllers; use Core\Controller; class PageController extends Controller { private $pages; public function __construct() { $this->pages = [ 1 => 'page 1', 2 => 'page 2', 3 => 'page 3', ]; } public function show($params) { echo $this->pages[ $params['id'] ]; // mostramos la página por número } } ?>

Implemente el controlador UserController, que contenga el siguiente array:

<?php $this->users = [ 1 => ['name'=>'user1', 'age'=>'23', 'salary' => 1000], 2 => ['name'=>'user2', 'age'=>'24', 'salary' => 2000], 3 => ['name'=>'user3', 'age'=>'25', 'salary' => 3000], 4 => ['name'=>'user4', 'age'=>'26', 'salary' => 4000], 5 => ['name'=>'user5', 'age'=>'27', 'salary' => 5000], ]; ?>

En el controlador UserController, cree una acción show, que muestre el usuario por un id específico. Que esté disponible en una dirección del siguiente tipo: /user/:id/.

En el controlador UserController, cree una acción info, que muestre el nombre o la edad de un usuario dado. Que esta acción esté disponible en una dirección del siguiente tipo: /user/:id/:key/, donde key tendrá el valor 'name', 'age' o 'salary'.

En el controlador UserController, cree una acción all, que muestre la lista de todos los usuarios en pantalla. Que esta acción esté disponible en una dirección del siguiente tipo: /user/all/ (aquí no habrá ningún parámetro).

En el controlador UserController, cree una acción first, que muestre la lista de los N primeros usuarios en pantalla. Que esta acción esté disponible en una dirección del siguiente tipo: /user/first/:n/, donde en el parámetro estará la cantidad de usuarios que se deben mostrar en pantalla.

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