⊗ppMVUFmRP 8 of 35 menu

Parameter in Routen in MVC in PHP

In der vorherigen Lektion hatten unsere Routen feste Adressen. Tatsächlich ist der Routing-Mechanismus komplexer - man kann es so einrichten, dass ein Teil der URI-Seite in benannten Parametern landet, die dann im Controller verfügbar sind.

Nehmen wir an, unsere Adressen sollen folgendermaßen aussehen: /test/param1/param2/, wo param1 und param2 beliebige Zeichenketten sind. Dabei wollen wir, dass Adressen dieses Typs von einer Controller-Aktion verarbeitet werden. Dazu sollte man sich einen Parameternamen ausdenken und davor einen Doppelpunkt setzen, wie hier:

<?php use \Core\Route; return [ new Route('/test/:var1/:var2/', 'page', 'act'), ]; ?>

In unserem Fall wird das dazu führen, dass alle Anfragen der Art /test/Parameter1/Parameter2/ auf die Aktion act treffen. Dabei wird in den ersten Parameter dieser Aktion ein assoziatives Array mit Parametern übergeben: Der Text, der an der Stelle des ersten Parameters steht, landet im Array-Element mit dem Schlüssel 'var1', und der Text des zweiten Parameters - in 'var2'.

Nehmen wir zum Beispiel an, in der Adresszeile wurde folgendes eingegeben: /test/eee/bbb/. Lassen Sie uns sehen, was der erste Parameter der Aktion enthalten wird:

<?php namespace Project\Controllers; use Core\Controller; class PageController extends Controller { public function act($params) { var_dump($params); // ['var1' => 'eee', 'var2' => 'bbb'] } } ?>

Erstellen Sie den Controller NumController, und darin - die Aktion sum. Lassen Sie diese Aktion Adressen folgender Art verarbeiten: /nums/:n1/:n2/:n3/, wobei die Parameter bestimmte Zahlen sind. Sorgen Sie dafür, dass die Summe der übergebenen Zahlen auf dem Bildschirm ausgegeben wird.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen