Parametri u rutama u MVC u PHP

U prethodnoj lekciji naše rute su imale fiksne adrese. Zapravo, mehanizam rutiranja je složeniji - može se postići da deo URI adrese strane upadne u imenovane parametre, dostupne zatim u kontroleru.

Neka, na primer, naše adrese izgledaju ovako: /test/param1/param2/, gde su param1 i param2 proizvoljni stringovi. Pristom mi želimo da adrese ovog oblika budu obrađene jednom akcijom kontrolera. Za ovo treba smisliti ime parametra i ispred njega staviti dvotačku, ovako:

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

U našem slučaju će ispasti da će svi zahtevi oblika /test/parametar1/parametar2/ upasti na akciju act. Pristom u prvi parametar ove akcije će upasti asocijativni niz sa parametrima: tekst koji će biti na mestu prvog parametra, upada u element niza sa ključem 'var1', a tekst drugog parametra - u 'var2'.

Neka, na primer, u adresnoj liniji bude otkucano sledeće: /test/eee/bbb/. Hajde da pogledamo šta će sadržati prvi parametar akcije:

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

Napravite kontroler NumController, a u njemu - akciju sum. Neka ova akcija obrađuje adrese sledećeg oblika: /nums/:n1/:n2/:n3/, gde parametrima budu neki brojevi. Uredite tako da na ekran bude ispisana suma prosleđenih brojeva.