⊗ppMVUFmRPA 9 of 35 menu

PHP да MVC да роутларда параметрларни қўллаш

Келтирилганларнинг амалиётини янада хаётий мисолда кўриб чиқайлик. Бизнинг контроллеримиз PageController саҳифалар массивини ўз ичига олсин (бу маълумотлар модел томонидан қайтарилиши керак, лекин биз моделлар билан ҳали тушунмаганмиз, шунинг учун маълумотлар ҳозирча контроллерда сақлансин):

<?php namespace Project\Controllers; use Core\Controller; class PageController extends Controller { private $pages; public function __construct() { $this->pages = [ 1 => 'page 1', 2 => 'page 2', 3 => 'page 3', ]; } } ?>

Келик show-ни яратайлик, у белгиланган рақамли (id) саҳифани экранга чиқаради:

<?php namespace Project\Controllers; use Core\Controller; class PageController extends Controller { private $pages; public function __construct() { $this->pages = [ 1 => 'page 1', 2 => 'page 2', 3 => 'page 3', ]; } public function show() { // бу ерда белгиланган рақамли саҳифани чиқарамиз } } ?>

/page/1/ манзилига мурожаат қилинғанда биринчи саҳифа матни чиқсин, /page/2/ манзилига мурожаат қилинғанда - иккинчи саҳифа матни ва ҳоказо. Мос роутни яратамиз:

<?php use \Core\Route; return [ new Route('/page/:id/', 'page', 'show'), ]; ?>

Келтирилган show усулини амалга оширамиз:

<?php namespace Project\Controllers; use Core\Controller; class PageController extends Controller { private $pages; public function __construct() { $this->pages = [ 1 => 'page 1', 2 => 'page 2', 3 => 'page 3', ]; } public function show($params) { echo $this->pages[ $params['id'] ]; // рақам буйича саҳифани чиқарамиз } } ?>

UserController контролерини амалга оширинг, у қуйидаги массивни ўз ичига олсин:

<?php $this->users = [ 1 => ['name'=>'user1', 'age'=>'23', 'salary' => 1000], 2 => ['name'=>'user2', 'age'=>'24', 'salary' => 2000], 3 => ['name'=>'user3', 'age'=>'25', 'salary' => 3000], 4 => ['name'=>'user4', 'age'=>'26', 'salary' => 4000], 5 => ['name'=>'user5', 'age'=>'27', 'salary' => 5000], ]; ?>

UserController контролерида, белгиланган id буйича фойдаланувчини чиқарадиган show амалиётини яратинг. У қуйидаги кўринишдаги манзил орқали мавжуд бўлсин: /user/:id/.

UserController контролерида, белгиланган фойдаланувчининг исми ёки ёшини чиқарадиган info амалиётини яратинг. Бу амалиёт қуйидаги кўринишдаги манзил орқали мавжуд бўлсин: /user/:id/:key/, бу ерда key 'name', 'age' ёки 'salary' қийматларига эга бўлади.

UserController контролерида, барча фойдаланувчилар рўйхатини экранга чиқарадиган all амалиётини яратинг. Бу амалиёт қуйидаги кўринишдаги манзил орқали мавжуд бўлсин: /user/all/ (бу ерда ҳеч қандай параметрлар бўлмайди).

UserController контролерида, биринчи N та фойдаланувчилар рўйхатини экранга чиқарадиган first амалиётини яратинг. Бу амалиёт қуйидаги кўринишдаги манзил орқали мавжуд бўлсин: /user/first/:n/, бу ерда параметрда экранга чиқарилиши керак бўлган фойдаланувчилар сони кўрсатилади.

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