⊗ppMVUFmRPA 9 of 35 menu

Utilisation des paramètres dans les routes en MVC en PHP

Examinons l'application de ce qui a été décrit sur un exemple plus concret. Supposons que notre contrôleur PageController contienne un tableau de pages (ces données devraient être fournies par le modèle, mais nous n'avons pas encore abordé les modèles, donc laissons les données stockées dans le contrôleur pour l'instant) :

<?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', ]; } } ?>

Créons une action show qui affichera à l'écran la page avec un numéro spécifique (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() { // ici nous afficherons la page avec un numéro spécifique } } ?>

Supposons que l'accès à l'adresse /page/1/ affiche le texte de la première page, l'accès à l'adresse /page/2/ - le texte de la deuxième page, et ainsi de suite. Créons la route correspondante :

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

Implémentons la méthode décrite 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'] ]; // affiche la page par numéro } } ?>

Implémentez le contrôleur UserController, contenant le tableau suivant :

<?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], ]; ?>

Dans le contrôleur UserController, créez une action show qui affichera l'utilisateur par un id spécifique. Qu'elle soit accessible via une adresse de type : /user/:id/.

Dans le contrôleur UserController, créez une action info qui affichera le nom ou l'âge d'un utilisateur donné. Que cette action soit accessible via une adresse de type : /user/:id/:key/, où key aura la valeur 'name', 'age' ou 'salary'.

Dans le contrôleur UserController, créez une action all qui affichera la liste de tous les utilisateurs à l'écran. Que cette action soit accessible via une adresse de type : /user/all/ (aucun paramètre ici).

Dans le contrôleur UserController, créez une action first qui affichera la liste des N premiers utilisateurs à l'écran. Que cette action soit accessible via une adresse de type : /user/first/:n/, où le paramètre contiendra le nombre d'utilisateurs à afficher à l'écran.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser