⊗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šuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј