PHPдеги MVCдеги багыттоочу параметрлер

Акыркы сабакта биздин багыттоолор туруктуу даректерге ээ болчу. Чынында багыттоо механизми андан татаалырак - 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/, бул жерде параметрлер кандайдыр бир сандар болсун. Берилген сандардын суммасы экранга чыгарылышы үчүн жасаңыз.