⊗ppMVUFmRP 8 of 35 menu

Parameters in roetes in MVC in PHP

In die vorige les het ons roetes vaste adresse gehad. Eintlik is die meganisme van roete-aanwysing meer kompleks - jy kan dit so maak dat 'n gedeelte van die URI van die bladsy in genoemde parameters beland, wat dan in die beheerder beskikbaar is.

Laat ons byvoorbeeld sê ons adresse moet so lyk: /test/param1/param2/, waar param1 en param2 arbitrêre snare is. Terselfdertyd wil ons hê dat adresse van hierdie tipe deur een beheerderaksie hanteer moet word. Om dit te doen, moet jy 'n naam vir die parameter bedink en 'n dubbelpunt daarvoor sit, soos volg:

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

In ons geval sal dit beteken dat alle versoeke van die tipe /test/parameter1/parameter2/ na die aksie act sal gaan. Terselfdertyd sal die eerste parameter van hierdie aksie 'n assosiatiewe skikking met parameters bevat: die teks wat in die plek van die eerste parameter sal wees, beland in die skikkingelement met die sleutel 'var1', en die teks van die tweede parameter - in 'var2'.

Laat ons byvoorbeeld sê die volgende is in die adresbalk getik: /test/eee/bbb/. Kom ons kyk wat die eerste parameter van die aksie sal bevat:

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

Maak 'n beheerder NumController, en daarin - 'n aksie sum. Laat hierdie aksie adresse van die volgende tipe hanteer: /nums/:n1/:n2/:n3/, waar die parameters sekere getalle sal wees. Maak dit so dat die som van die oorgedraagde getalle op die skerm vertoon word.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp