⊗ppMVUFmRPA 9 of 35 menu

Utilizzo dei parametri nelle rotte in MVC in PHP

Esaminiamo l'applicazione di quanto descritto in un esempio più realistico. Supponiamo che il nostro controller PageController contenga un array di pagine (questi dati dovrebbero essere forniti dal model, ma non abbiamo ancora approfondito i model, quindi per il momento i dati sono semplicemente memorizzati nel controller):

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

Creiamo un'azione show che visualizzi a schermo la pagina con un determinato numero (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() { // qui visualizzeremo la pagina con il numero specificato } } ?>

Supponiamo che quando si accede all'URL /page/1/ venga visualizzato il testo della prima pagina, quando si accede all'URL /page/2/ - il testo della seconda pagina e così via. Creiamo la rotta corrispondente:

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

Implementiamo il metodo show descritto:

<?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'] ]; // visualizziamo la pagina per numero } } ?>

Implementate il controller UserController, contenente il seguente 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], ]; ?>

Nel controller UserController, create un'azione show, che visualizzi l'utente in base a un determinato id. Supponete che essa sia accessibile tramite un URL del tipo: /user/:id/.

Nel controller UserController, create un'azione info, che visualizzi il nome o l'età di un determinato utente. Supponete che questa azione sia accessibile tramite un URL del tipo: /user/:id/:key/, dove key avrà valore 'name', 'age' o 'salary'.

Nel controller UserController, create un'azione all, che visualizzi l'elenco di tutti gli utenti a schermo. Supponete che questa azione sia accessibile tramite un URL del tipo: /user/all/ (qui non ci saranno parametri).

Nel controller UserController, create un'azione first, che visualizzi l'elenco dei primi N utenti a schermo. Supponete che questa azione sia accessibile tramite un URL del tipo: /user/first/:n/, dove nel parametro ci sarà il numero di utenti da visualizzare a schermo.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta