⊗ppMVUFmRPA 9 of 35 menu

Primer parametara u rutama u MVC u PHP

Pogledajmo primenu opisanog na realističnijem primeru. Neka naš kontroler PageController sadrži niz stranica (ove podatke bi trebao da vraća model, ali sa modelima još nismo detaljno prošli, pa neka podaci za sada budu samo u kontroleru):

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

Napravimo akciju show, koja će prikazati stranicu sa određenim brojem (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() { // ovde ćemo prikazati stranicu po određenom broju } } ?>

Neka pristup adresi /page/1/ prikazuje tekst prve stranice, pristup adresi /page/2/ - tekst druge stranice, itd. Napravimo odgovarajuću rutu:

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

Implementirajmo opisani metod 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'] ]; // prikazujemo stranicu po broju } } ?>

Implementirajte kontroler UserController, koji sadrži sledeći niz:

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

U kontroleru UserController, napravite akciju show, koja će prikazivati korisnika po određenom id. Neka bude dostupna na adresi sledećeg oblika: /user/:id/.

U kontroleru UserController, napravite akciju info, koja će prikazivati ime ili godine određenog korisnika. Neka ova akcija bude dostupna na adresi sledećeg oblika: /user/:id/:key/, gde će key imati vrednost 'name', 'age' ili 'salary'.

U kontroleru UserController, napravite akciju all, koja će prikazivati listu svih korisnika na ekranu. Neka ova akcija bude dostupna na adresi sledećeg oblika: /user/all/ (ovde neće biti parametara).

U kontroleru UserController, napravite akciju first, koja će prikazivati listu prvih N korisnika na ekranu. Neka ova akcija bude dostupna na adresi sledećeg oblika: /user/first/:n/, gde će u parametru biti broj korisnika koje treba prikazati na ekranu.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij