⊗ppMVUFmRP 8 of 35 menu

Параметры ў роўтах у MVC у PHP

У папярэднім уроку нашы роўты мелі фіксаваныя адрасы. На самой справе механізм роўтынгу больш складаны - можна зрабіць так, каб частка URI старонкі трапляла ў іменаваныя параметры, даступныя затым у кантролеры.

Хай, напрыклад, нашы адрасы будуць выглядаць вось так: /test/param1/param2/, дзе param1 і param2 - адвольныя радкі. Пры гэтым мы хочам, каб адрасы такога выгляду апрацоўваліся адным дзеяннем кантролера. Для гэтага варта прыдумаць імя параметра і перад ім паставіць двукроп'е, вось так:

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

У нашым выпадку атрымаецца, што ўсе запыты выгляду /test/параметр1/параметр2/ будуць трапляць на дзеянне act. Пры гэтым у першы параметр гэтага дзеяння будзе трапляць асацыятыўны масіў з параметрамі: тэкст, які будзе на месцы першага параметра, трапляе ў элемент масіва з ключом 'var1', а тэкст другога параметра - у 'var2'.

Хай, напрыклад, у адрасным радку набрана наступнае: /test/eee/bbb/. Давайте паглядзім, што будзе ўтрымліваць першы параметр дзеяння:

<?php namespace Project\Controllers; use Core\Controller; class PageController extends Controller { public function act($params) { var_dump($params); // ['var1' => 'eee', 'var2' => 'bbb'] } } ?>

Зрабіце кантролер NumController, а ў ім - дзеянне sum. Хай гэта дзеянне апрацоўвае адрасы наступнага выгляду: /nums/:n1/:n2/:n3/, дзе параметрамі будуць некаторыя дадатныя лікі. Зрабіце так, каб на экран выводзілася сума перададзеных лікаў.

Беларуская
AfrikaansAzərbaycanБългарскиবাংলাČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць