⊗ppMVUFmRP 8 of 35 menu

Parametrar i rutter i MVC i PHP

I föregående lektion hade våra rutter fasta adresser. Egentligen är routningsmekanismen mer komplex - det går att göra så att en del av sidans URI hamnar i namngivna parametrar, som sedan är tillgängliga i kontrollern.

Låt oss säga att våra adresser ska se ut så här: /test/param1/param2/, där param1 och param2 är godtyckliga strängar. Samtidigt vill vi att adresser av denna typ ska hanteras av en kontrolleråtgärd. För att göra detta bör du komma på ett parameternamn och sätta ett kolon före det, så här:

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

I vårt fall kommer det att bli så att alla förfrågningar av typen /test/parameter1/parameter2/ kommer att hamna på åtgärden act. Samtidigt kommer den första parametern för denna åtgärd att innehålla en associativ array med parametrar: texten som kommer att vara på den första parameterns plats, hamnar i arrayelementet med nyckeln 'var1', och texten för den andra parametern - i 'var2'.

Låt oss säga att följande har skrivits in i adressfältet: /test/eee/bbb/. Låt oss se vad den första parametern för åtgärden kommer att innehålla:

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

Skapa kontrollern NumController, och i den - åtgärden sum. Låt denna åtgärd hantera adresser av följande typ: /nums/:n1/:n2/:n3/, där parametrarna kommer att vara vissa nummer. Gör så att summan av de överförda talen skrivs ut på skärmen.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa