⊗ppMVUFmRPA 9 of 35 menu

Bruk av parametre i ruter i MVC i PHP

La oss se på anvendelsen av det beskrevet på et mer livaktig eksempel. La vår kontroller PageController inneholde en array med sider (disse dataene burde leveres av modellen, men med modeller har vi ikke behandlet ennå, så la dataene foreløpig bare lagres i kontrolleren):

<?php namespace Project\Controllers; use Core\Controller; class PageController extends Controller { private $pages; public function __construct() { $this->pages = [ 1 => 'page 1', 2 => 'page 2', 3 => 'page 3', ]; } } ?>

La oss lage en handling show, som vil vise på skjermen en side med et bestemt nummer (id):

<?php namespace Project\Controllers; use Core\Controller; class PageController extends Controller { private $pages; public function __construct() { $this->pages = [ 1 => 'page 1', 2 => 'page 2', 3 => 'page 3', ]; } public function show() { // her vil vi vise siden med et bestemt nummer } } ?>

La ved tilgang til adressen /page/1/ blir teksten på den første siden vist, ved tilgang til adressen /page/2/ - teksten på den andre siden og så videre. La oss lage tilsvarende rute:

<?php use \Core\Route; return [ new Route('/page/:id/', 'page', 'show'), ]; ?>

La oss implementere den beskrevne metoden show:

<?php namespace Project\Controllers; use Core\Controller; class PageController extends Controller { private $pages; public function __construct() { $this->pages = [ 1 => 'page 1', 2 => 'page 2', 3 => 'page 3', ]; } public function show($params) { echo $this->pages[ $params['id'] ]; // viser siden etter nummer } } ?>

Implementer kontrolleren UserController, som inneholder følgende array:

<?php $this->users = [ 1 => ['name'=>'user1', 'age'=>'23', 'salary' => 1000], 2 => ['name'=>'user2', 'age'=>'24', 'salary' => 2000], 3 => ['name'=>'user3', 'age'=>'25', 'salary' => 3000], 4 => ['name'=>'user4', 'age'=>'26', 'salary' => 4000], 5 => ['name'=>'user5', 'age'=>'27', 'salary' => 5000], ]; ?>

I kontrolleren UserController, lag handlingen show, som vil vise brukeren med et bestemt id. La den være tilgjengelig på en adresse av følgende type: /user/:id/.

I kontrolleren UserController, lag handlingen info, som vil vise navn eller alder til en gitt bruker. La denne handlingen være tilgjengelig på en adresse av følgende type: /user/:id/:key/, hvor key vil ha verdien 'name', 'age' eller 'salary'.

I kontrolleren UserController, lag handlingen all, som vil vise listen over alle brukere på skjermen. La denne handlingen være tilgjengelig på en adresse av følgende type: /user/all/ (ingen parametere her vil det være).

I kontrolleren UserController, lag handlingen first, som vil vise listen over de N første brukerne på skjermen. La denne handlingen være tilgjengelig på en adresse av følgende type: /user/first/:n/, hvor i parameteren vil antall brukere som skal vises på skjermen være.

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