⊗ppMVUFmRP 8 of 35 menu

Parametre i ruter i MVC i PHP

I den forrige lektion havde vores ruter faste adresser. Faktisk er routing-mekanismen mere avanceret - det er muligt at gøre så en del af URI'en ender i navngivne parametre, der derefter er tilgængelige i controlleren.

Lad os for eksempel sige, at vores adresser skal se ud sådan her: /test/param1/param2/, hvor param1 og param2 er vilkårlige strenge. Samtidig ønsker vi, at adresser af denne type håndteres af en enkelt controller-handling. For at gøre dette skal du finde på et parameternavn og sætte et kolon foran det, sådan her:

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

I vores tilfælde vil det betyde, at alle anmodninger af typen /test/parameter1/parameter2/ vil blive sendt til handlingen act. Mens den første parameter til denne handling vil indeholde et associativt array med parametre: teksten, der står på den første parameters plads, ender i array-elementet med nøglen 'var1', og teksten fra den anden parameter - i 'var2'.

Lad os for eksempel sige, at følgende er indtastet i adresselinjen: /test/eee/bbb/. Lad os se, hvad den første parameter til handlingen vil indeholde:

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

Opret controlleren NumController, og i den - handlingen sum. Lad denne handling håndtere adresser af følgende type: /nums/:n1/:n2/:n3/, hvor parametrene er nogle tal. Gør så summen af de overførte tal bliver vist på skærmen.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis