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:

/project/config/routes.php<?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:

project/controllers/PageController.php<?php
  namespace Project\Controllers;
  use Core\Controller;
  
  class PageController extends Controller
  {
    public function act($params)
    {
      var_dump($params); // ['var1' => 'eee', 'var2' => 'bbb']
    }
  }
?>
Задание 1

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.