Paraméterek az útvonalakban MVC-ben PHP-ben
Az előző leckében az útvonalaink fix címekkel rendelkeztek. Valójában az útválasztási mechanizmus bonyolultabb - lehetőség van arra, hogy az URI egy része elnevezett paraméterekbe kerüljön, amelyek majd a vezérlőben elérhetőek lesznek.
Tegyük fel például, hogy a címeink így
néznek ki: /test/param1/param2/,
ahol param1 és param2 tetszőleges
szövegek. Ezzel együtt azt szeretnénk, hogy az ilyen típusú
címeket egy vezérlőművelet kezelje.
Ehhez ki kell találni a paraméter nevét
és elé kettőspontot kell tenni, így:
<?php
use \Core\Route;
return [
new Route('/test/:var1/:var2/', 'page', 'act'),
];
?>
Az esetünkben az fog történni, hogy minden
/test/paraméter1/paraméter2/ alakú kérés
az act műveletre irányul.
Ezzel együtt ennek a műveletnek az első paraméterébe
egy asszociatív tömb fog kerülni a paraméterekkel:
az első paraméter helyén lévő szöveg
a tömb 'var1' kulcsú elemébe kerül,
a második paraméter szövege pedig a 'var2'-be.
Tegyük fel például, hogy a címsorba a
következő van beírva: /test/eee/bbb/. Nézzük meg,
mit fog tartalmazni a művelet első paramétere:
<?php
namespace Project\Controllers;
use Core\Controller;
class PageController extends Controller
{
public function act($params)
{
var_dump($params); // ['var1' => 'eee', 'var2' => 'bbb']
}
}
?>
Készítsd el a NumController vezérlőt,
és benne - az sum műveletet. Legyen ez
a művelet a következő alakú címeket kezelő:
/nums/:n1/:n2/:n3/, ahol a paraméterek
egyes számok. Állítsd be úgy, hogy
a képernyőre kiírják az átadott számok összegét.