⊗ppMVUFmRP 8 of 35 menu

MVC da PHP da Routlarda Parametrlar

Oldingi darsda bizning routlarimiz belgilangan manzillarga ega edi. Aslida routlash mexanizmi ancha murakkab - URI ning bir qismi nomlangan parametrlar shaklida bo'lishi va keyin kontrollerda foydalanish mumkin.

Masalan, bizning manzillarimiz quyidagicha ko'rinishga ega bo'lsin: /test/param1/param2/, bu yerda param1 va param2 - ixtiyoriy matnlar. Bunda biz shunday ko'rinishdagi manzillar bitta kontroller harakati tomonidan boshqarilishini xohlaymiz. Buning uchun parametr nomini topish kerak va uning oldiga ikkita nuqta qo'yish kerak, mana shunday:

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

Bizning holatda shunday bo'ladi, ya'ni /test/parametr1/parametr2/ ko'rinishidagi barcha so'rovlar act harakatiga yo'naltiriladi. Bunda ushbu harakatning birinchi parametriga parametrlar bilan assotsiativ massiv kiradi: birinchi parametr o'rnida bo'lgan matn, massivning 'var1' kalitli elementiga kiradi, ikkinchi parametr matni esa 'var2' ga kiradi.

Masalan, manzil satrida quyidagi kiritilgan bo'lsin: /test/eee/bbb/. Keling harakatning birinchi parametrida nima bo'lishini ko'rib chiqaylik:

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

NumController kontrollerini yarating, unda - sum harakatini yarating. Ushbu harakat quyidagi ko'rinishdagi manzillarni boshqarsin: /nums/:n1/:n2/:n3/, bu yerda parametrlar ba'zi sonlar bo'lsin. Ekranda uzatilgan sonlar yig'indisi chiqarilishi uchun sozlang.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish