⊗ppMVUFmRPA 9 of 35 menu

Примена параметара у рутама у MVC у PHP

Хајде да погледамо примену описаног на реалнијем примеру. Нека наш контролер PageController садржи низ страница (ове податке би требао да враћа модел, али са моделима још нисмо завршили, па нека подаци за сада само буду ускладиштени у контролеру):

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

Хајде да направимо акцију show, која ће приказивати на екран страницу са одређеним бројем (id):

<?php namespace Project\Controllers; use Core\Controller; class PageController extends Controller { private $pages; public function __construct() { $this->pages = [ 1 => 'страница 1', 2 => 'страница 2', 3 => 'страница 3', ]; } public function show() { // овде ћемо приказати страницу по броју } } ?>

Нека при приступу адреси /page/1/ буде приказан текст прве странице, при приступу адреси /page/2/ - текст друге странице и тако даље. Направимо одговарајући рут:

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

Имплементирајмо описану методу show:

<?php namespace Project\Controllers; use Core\Controller; class PageController extends Controller { private $pages; public function __construct() { $this->pages = [ 1 => 'страница 1', 2 => 'страница 2', 3 => 'страница 3', ]; } public function show($params) { echo $this->pages[ $params['id'] ]; // приказујемо страницу по броју } } ?>

Имплементирајте контролер UserController, који садржи следећи низ:

<?php $this->users = [ 1 => ['name'=>'корисник1', 'age'=>'23', 'salary' => 1000], 2 => ['name'=>'корисник2', 'age'=>'24', 'salary' => 2000], 3 => ['name'=>'корисник3', 'age'=>'25', 'salary' => 3000], 4 => ['name'=>'корисник4', 'age'=>'26', 'salary' => 4000], 5 => ['name'=>'корисник5', 'age'=>'27', 'salary' => 5000], ]; ?>

У контролеру UserController, направите акцију show, која ће приказивати корисника по одређеном id. Нека она буде доступна на адреси следећег вида: /user/:id/.

У контролеру UserController, направите акцију info, која ће приказивати име или године одређеног корисника. Нека ова акција буде доступна на адреси следећег вида: /user/:id/:key/, где key ће имати вредност 'name', 'age' или 'salary'.

У контролеру UserController, направите акцију all, која ће приказивати листу свих корисника на екран. Нека ова акција буде доступна на адреси следећег вида: /user/all/ (овде нема параметара).

У контролеру UserController, направите акцију first, која ће приказивати листу првих N корисника на екран. Нека ова акција буде доступна на адреси следећег вида: /user/first/:n/, где у параметру ће бити број корисника које треба приказати на екрану.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј