⊗ppMVUFmRP 8 of 35 menu

Paramètres dans les routes en MVC en PHP

Dans la leçon précédente, nos routes avaient des adresses fixes. En réalité, le mécanisme de routage est plus complexe - il est possible de faire en sorte qu'une partie de l'URI de la page arrive dans des paramètres nommés, accessibles ensuite dans le contrôleur.

Supposons, par exemple, que nos adresses ressemblent à ceci : /test/param1/param2/, où param1 et param2 sont des chaînes arbitraires. En même temps, nous voulons que les adresses de ce type soient traitées par une seule action du contrôleur. Pour cela, il faut inventer un nom de paramètre et mettre un deux-points devant, comme ceci :

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

Dans notre cas, il en résultera que toutes les requêtes de type /test/paramètre1/paramètre2/ arriveront sur l'action act. Par ailleurs, le premier paramètre de cette action recevra un tableau associatif avec les paramètres : le texte qui sera à la place du premier paramètre arrivera dans l'élément du tableau avec la clé 'var1', et le texte du deuxième paramètre - dans 'var2'.

Supposons, par exemple, que la barre d'adresse contienne ce qui suit : /test/eee/bbb/. Voyons ce que contiendra le premier paramètre de l'action :

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

Créez le contrôleur NumController, et dedans - l'action sum. Que cette action traite les adresses de type suivant : /nums/:n1/:n2/:n3/, où les paramètres seront des nombres. Faites en sorte que la somme des nombres transmis s'affiche à 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