PHP-daky MVC-nyň marşruthlaryndaky parametrler

Öňki sapakda biziň marşruthlarymyz belli bir adreslere eýe boldy. Aslynda marşrutlaýyş mehanizmi has çylşyrymly - sahypanyň URI böleginiň atlandyrylan parametrlerine düşüp, soňra kontrollerde elýeterli bolýan etmek mümkin.

Meselem, biziň adreslerimiz şeýle görünýän bolsun: /test/param1/param2/, ýerde param1 we param2 - erkin setirler. Şol bir wagtyň özünde biz şuňa meňzeş adresleriň bir kontroller hereketi tarapyndan işlenilmegini isleýäris. Bu üçin parametriň adyny oýlap tapmaly we onuň öňüne iki nokat goýmaly, şeýle:

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

Biziň ýagdaýymyzda şuňa meňzeş boljak: /test/parametr1/parametr2/ ýaly ähli soraglar act hereketine düşer. Şol bir wagtyň özünde bu hereketiň birinji parametrine parametrleriň assosiativ massiwini düşer: birinji parametriň ýerine boljak tekst, 'var1' açar elementine, ikinji parametriň teksti bolsa 'var2' açar elementine düşer.

Meselem, salgy setirine şuňa meňzeş ýazylan bolsun: /test/eee/bbb/. Hereketiň birinji parametriniň näme boljakdygyna göz aýlanyş:

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 kontrollerini ýasaň, we onda - sum hereketini ýerine ýetiriň. Bu hereketiň şuňa meňzeş görnüşdäki adresleri işlemesine rugsat beriň: /nums/:n1/:n2/:n3/, ýerde parametrler käbir sanlar bolup durýar. Geçirilen sanlaryň jeminiň ekrana çykarylýandygyna göz ýetiriň.