⊗ppMVUFmRPA 9 of 35 menu

Toepassing van parameters in routes in MVC in PHP

Laten we de toepassing van het beschrevene bekijken aan de hand van een meer realistisch voorbeeld. Stel dat onze controller PageController een array met pagina's bevat (deze gegevens zouden door het model moeten worden teruggegeven, maar met modellen hebben we nog niet behandeld, dus laten we de gegevens voorlopig gewoon in de controller worden opgeslagen):

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

Laten we een actie show maken, die een pagina met een specifiek nummer (id) op het scherm zal weergeven:

<?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() { // hier geven we de pagina met een specifiek nummer weer } } ?>

Stel dat bij toegang tot het adres /page/1/ de tekst van de eerste pagina wordt weergegeven, bij toegang tot het adres /page/2/ - de tekst van de tweede pagina, enzovoort. Laten we de bijbehorende route maken:

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

Laten we de beschreven methode show implementeren:

<?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'] ]; // toon pagina op nummer } } ?>

Implementeer de controller UserController, bevattende de volgende 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], ]; ?>

Maak in de controller UserController een actie show, die de gebruiker met een specifieke id weergeeft. Laat het beschikbaar zijn op een adres van het volgende type: /user/:id/.

Maak in de controller UserController een actie info, die de naam of leeftijd van de opgegeven gebruiker weergeeft. Laat deze actie beschikbaar zijn op een adres van het volgende type: /user/:id/:key/, waar key de waarde 'name', 'age' of 'salary' heeft.

Maak in de controller UserController een actie all, die de lijst van alle gebruikers op het scherm weergeeft. Laat deze actie beschikbaar zijn op een adres van het volgende type: /user/all/ (hier zijn geen parameters).

Maak in de controller UserController een actie first, die de lijst van de eerste N gebruikers op het scherm weergeeft. Laat deze actie beschikbaar zijn op een adres van het volgende type: /user/first/:n/, waar in de parameter het aantal gebruikers staat dat op het scherm moet worden weergegeven.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren