⊗ppMVUFmRP 8 of 35 menu

Parameters in routes in MVC in PHP

In de vorige les hadden onze routes vaste adressen. Eigenlijk is het routeringsmechanisme complexer - het is mogelijk om ervoor te zorgen dat een deel van de URI van de pagina in genaamde parameters terechtkomt, die vervolgens beschikbaar zijn in de controller.

Stel dat onze adressen er als volgt uit zouden zien: /test/param1/param2/, waar param1 en param2 willekeurige strings zijn. Tegelijkertijd willen we dat adressen van dit type worden afgehandeld door één controlleractie. Hiervoor moet je een parameternaam bedenken en er een dubbele punt voor zetten, zoals dit:

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

In ons geval betekent dit dat alle verzoeken van het type /test/parameter1/parameter2/ worden doorgeleid naar de actie act. Hierbij zal de eerste parameter van deze actie een associatieve array met parameters bevatten: de tekst die op de plaats van de eerste parameter staat, komt terecht in het array-element met de sleutel 'var1', en de tekst van de tweede parameter - in 'var2'.

Stel dat het volgende in de adresbalk is getypt: /test/eee/bbb/. Laten we kijken wat de eerste parameter van de actie zal bevatten:

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

Maak een controller NumController, en daarin - de actie sum. Laat deze actie adressen van het volgende type verwerken: /nums/:n1/:n2/:n3/, waar de parameters enkele getallen zijn. Zorg ervoor dat de som van de doorgegeven getallen op het scherm wordt weergegeven.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren