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/, මෙහි පරාමිතීන් යම් අංක වේ. එය කරන්නේ, ප්‍රදර්ශනය මත යොදා ගත් අංකවල එකතුව ප්‍රදර්ශනය කිරීමටය.