Parametrai maršrutuose MVC PHP

Ankstesnėje pamokoje mūsų maršrutai turėjo fiksuotus adresus. Tiesą sakant, maršrutizavimo mechanizmas yra sudėtingesnis - galima padaryti taip, kad dalis URI puslapio patektų į pavadintus parametrus, prieinamus vėliau kontroleryje.

Tarkime, pavyzdžiui, mūsų adresai atrodys taip: /test/param1/param2/, kur param1 ir param2 - savavališki tekstai. Tuo pačiu mes norime, kad tokio pobūdžio adresus apdorotų vienas kontrolerio veiksmas. Tam reikia sugalvoti parametro pavadinimą ir prieš jį dėti dvitaškį, taip:

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

Mūsų atveju pasirodys, kad visi užklausų pavidalo /test/parametras1/parametras2/ pateks į veiksmą act. Be to, į pirmą šio veiksmo parametrą bus perduodamas asociatyvus masyvas su parametrais: tekstas, kuris bus pirmojo parametro vietoje, pateks į masyvo elementą su raktu 'var1', o antrojo parametro tekstas - į 'var2'.

Tarkime, pavyzdžiui, adreso eilutėje įvesta tai: /test/eee/bbb/. Pažiūrėkime, ką talpins pirmasis veiksmo parametras:

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

Sukurkite kontrolerį NumController, o jame - veiksmą sum. Tegul šis veiksmas apdoroja tokio pavidalo adresus: /nums/:n1/:n2/:n3/, kur parametrais bus tam tikri skaičiai. Padarykite taip, kad ekrane būtų rodoma perduotų skaičių suma.