⊗ppMVUFmRPA 9 of 35 menu

Parametrien käyttö reiteissä MVC:ssä PHP:ssä

Katsotaanpa kuvattua sovellusta käytännönläheisemmässä esimerkissä. Oletetaan, että ohjainkontrollerimme PageController sisältää sivutaulukon (nämä tiedot pitäisi palauttaa malli, mutta malleja ei ole käsitelty vielä, joten olkoot tiedot toistaiseksi vain tallennettuna ohjainkontrollerissa):

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

Tehdään toiminto show, joka näyttää ruudulla sivun tietyllä numerolla (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() { // tässä näytetään sivu tietyllä numerolla } } ?>

Oletetaan, että osoitteeseen /page/1/ siirryttäessä näytetään ensimmäisen sivun teksti, osoitteeseen /page/2/ siirryttäessä - toisen sivun teksti ja niin edelleen. Luodaan vastaava reitti:

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

Toteutetaan kuvattu metodi 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'] ]; // näytetään sivu numeron perusteella } } ?>

Toteuta ohjainkontrolleri UserController, joka sisältää seuraavan taulukon:

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

Ohjainkontrollerissa UserController, tee toiminto show, joka näyttää käyttäjän tietyllä id:llä. Olkoon se saatavilla seuraavanmuotoisessa osoitteessa: /user/:id/.

Ohjainkontrollerissa UserController, tee toiminto info, joka näyttää annetun käyttäjän nimen tai iän. Olkoon tämä toiminto saatavilla seuraavanmuotoisessa osoitteessa: /user/:id/:key/, jossa key on arvoltaan 'name', 'age' tai 'salary'.

Ohjainkontrollerissa UserController, tee toiminto all, joka näyttää listan kaikista käyttäjistä ruudulla. Olkoon tämä toiminto saatavilla seuraavanmuotoisessa osoitteessa: /user/all/ (parametreja ei tässä tapauksessa ole).

Ohjainkontrollerissa UserController, tee toiminto first, joka näyttää listan N ensimmäisestä käyttäjästä ruudulla. Olkoon tämä toiminto saatavilla seuraavanmuotoisessa osoitteessa: /user/first/:n/, jossa parametrissa on käyttäjien lukumäärä, jotka tulee näyttää ruudulla.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää