Параметри у рутевима у MVC у PHP

У претходној лекцији наши рутови су имали фиксне адресе. Заправо механизам рутирања је сложенији - може се урадити тако да део URI странице упада у именоване параметре, доступне затим у контролеру.

Нека, на пример, наше адресе изгледају овако: /test/param1/param2/, где су param1 и param2 произвољни стрингови. При томе желимо да адресе таквог вида рукује једна акција контролера. Зато треба смислити име параметра и пред њим ставити двотачку, ево овако:

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

У нашем случају ће испасти да сви захтеви вида /test/параметар1/параметар2/ ће упадати на акцију act. При томе у први параметар ове акције ће упадати асоцијативни низ са параметрима: текст, који ће бити на месту првог параметра, упада у елемент низа са кључем 'var1', а текст другог параметра - у 'var2'.

Нека, на пример, у адресној линији је укуцано следеће: /test/eee/bbb/. Хајде да погледамо шта ће садржати први параметар акције:

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

Направите контролер NumController, а у њему - акцију sum. Нека ова акција рукује адресама следећег вида: /nums/:n1/:n2/:n3/, где параметрима буду неки бројеви. Направите тако да на екран буде исписана сума прослеђених бројева.