Պարամետրերը ռուտերում 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/, որտեղ պարամետրերը կլինեն որոշ թվեր: Անեք այնպես, որ էկրանին ցուցադրվի փոխանցված թվերի գումարը: