⊗ppMVUFmRPA 9 of 35 menu

Použitie parametrov v routách v MVC v PHP

Pozrime sa na použitie opísaného na reálnejšom príklade. Nech náš kontroler PageController obsahuje pole stránok (tieto údaje by mala odovzdávať model, ale s modelmi sme sa ešte nezaoberali, preto nech údaje zatiaľ jednoducho uložené v kontroleri):

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

Urobme akciu show, ktorá bude zobrazovať na obrazovku stránku s určitým číslom (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() { // tu zobrazíme stránku s určitým číslom } } ?>

Nech pri prístupe na adresu /page/1/ sa zobrazí text prvej stránky, pri prístupe na adresu /page/2/ - text druhej stránky atď. Vytvorme príslušnú routu:

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

Realizujme opísanú metódu 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'] ]; // zobrazíme stránku podľa čísla } } ?>

Realizujte kontroler UserController, obsahujúci nasledujúce pole:

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

V kontroleri UserController, urobte akciu show, ktorá bude zobrazovať užívateľa podľa určitého id. Nech je dostupná na adrese nasledujúceho typu: /user/:id/.

V kontroleri UserController, urobte akciu info, ktorá bude zobrazovať meno alebo vek daného užívateľa. Nech je táto akcia dostupná na adrese nasledujúceho typu: /user/:id/:key/, kde key bude mať hodnotu 'name', 'age' alebo 'salary'.

V kontroleri UserController, urobte akciu all, ktorá bude zobrazovať zoznam všetkých užívateľov na obrazovke. Nech je táto akcia dostupná na adrese nasledujúceho typu: /user/all/ (žiadne parametre tu nebudú).

V kontroleri UserController, urobte akciu first, ktorá bude zobrazovať zoznam N prvých užívateľov na obrazovke. Nech je táto akcia dostupná na adrese nasledujúceho typu: /user/first/:n/, kde v parametri bude počet užívateľov, ktorí sa majú zobraziť na obrazovke.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť