⊗ppMVUFmRPA 9 of 35 menu

Anvendelse af parametre i ruter i MVC i PHP

Lad os se anvendelsen af det beskrevne på et mere livagtigt eksempel. Lad vores controller PageController indeholde en matrix af sider (disse data bør leveres af modellen, men med modeller har vi endnu ikke dykket ned i, så lad dataene foreløbig blot opbevares i controlleren):

<?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', ]; } } ?>

Lad os lave en handling show, som vil vise en side med et bestemt nummer (id) på skærmen:

<?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 } } ?>

Lad ved henvendelse til adressen /page/1/ teksten fra den første side blive vist, ved henvendelse til adressen /page/2/ - teksten fra den anden side og så videre. Lad os lave en tilsvarende rute:

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

Lad os implementere den beskrevne metode 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 efter nummer } } ?>

Implementer controlleren UserController, som indeholder følgende matrix:

<?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 controlleren UserController, lav handlingen show, som vil vise brugeren med et bestemt id. Lad den være tilgængelig på en adresse af følgende type: /user/:id/.

I controlleren UserController, lav handlingen info, som vil vise navnet eller alderen for den givne bruger. Lad denne handling være tilgængelig på en adresse af følgende type: /user/:id/:key/, hvor key vil have værdien 'name', 'age' eller 'salary'.

I controlleren UserController, lav handlingen all, som vil vise listen over alle brugere på skærmen. Lad denne handling være tilgængelig på en adresse af følgende type: /user/all/ (der vil ikke være nogen parametre her).

I controlleren UserController, lav handlingen first, som vil vise listen over de N første brugere på skærmen. Lad denne handling være tilgængelig på en adresse af følgende type: /user/first/:n/, hvor parameteren vil være antallet af brugere, som skal vises 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