⊗ppMVUFmRPA 9 of 35 menu

Utilizarea parametrilor în rute în MVC în PHP

Să analizăm aplicarea celor descrise pe un exemplu mai apropiat de realitate. Să presupunem că controlerul nostru PageController conține un array de pagini (aceste date ar trebui să fie returnate de model, dar cu modelele încă nu ne-am ocupat, așa că să presupunem că datele sunt stocate temporar în controler):

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

Să creăm acțiunea show, care va afișa pe ecran pagina cu un anumit număr (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() { // aici vom afișa pagina cu un anumit număr } } ?>

Să presupunem că la accesarea adresei /page/1/ va fi afișat textul primei pagini, la accesarea adresei /page/2/ - textul celei de-a doua pagini și așa mai departe. Să creăm ruta corespunzătoare:

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

Să implementăm metoda descrisă 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'] ]; // afișăm pagina după număr } } ?>

Implementați controlerul UserController, conținând următorul array:

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

În controlerul UserController, creați acțiunea show, care va afișa utilizatorul după un anumit id. Să presupunem că ea va fi accesibilă la adresa de tipul: /user/:id/.

În controlerul UserController, creați acțiunea info, care va afișa numele sau vârsta utilizatorului specificat. Să presupunem că această acțiune va fi accesibilă la adresa de tipul: /user/:id/:key/, unde key va avea valoarea 'name', 'age' sau 'salary'.

În controlerul UserController, creați acțiunea all, care va afișa lista tuturor utilizatorilor pe ecran. Să presupunem că această acțiune va fi accesibilă la adresa de tipul: /user/all/ (aici nu vor fi parametri).

În controlerul UserController, creați acțiunea first, care va afișa lista primilor N utilizatori pe ecran. Să presupunem că această acțiune va fi accesibilă la adresa de tipul: /user/first/:n/, unde în parametru va fi numărul de utilizatori care trebuie afișați pe ecran.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge