⊗ppMVDFmDs 29 of 35 menu

O'z MVC freymvorkingizda Dispetcherni ishlab chiqish

index.php faylining hozirgi tarkibini eslaymiz:

<?php namespace Core; error_reporting(E_ALL); ini_set('display_errors', 'on'); spl_autoload_register(function($class) { // sizning avtoyuklash realizatsiyangiz }); $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php'; $track = ( new Router ) -> getTrack($routes, $_SERVER['REQUEST_URI']); ?>

Ko'rib turganingizdek, hozircha routerimiz Track klassining ob'ektini qaytarmoqda, unda kontroller nomi, amal nomi va manzil qatoridagi parametrlar mavjud. Bundan tashqari, oldingi darsda biz barcha kontrollerlarning ota-sinasini yasadik.

Endi biz $track o'zgaruvchimizda mavjud bo'lgan ma'lumotlar asosida kontroller metodini chaqirilishini ta'minlashimiz mumkin.

Buning uchun maxsus Dispatcher klassi mas'ul bo'ladi. Dispetcher Track klassining ob'ektini oladi va uning ma'lumotlari asosida ko'rsatilgan klassning ob'ektini yaratadi, shu klassning metodini chaqiradi, ushbu metodga parametrlarni uzatadi.

Keling, dispetcher chaqiruvini index.php fayliga qo'shamiz:

<?php namespace Core; error_reporting(E_ALL); ini_set('display_errors', 'on'); spl_autoload_register(function($class) { // sizning avtoyuklash realizatsiyangiz }); $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php'; $track = ( new Router ) -> getTrack($routes, $_SERVER['REQUEST_URI']); // Dispetcherni chaqirish: $page = ( new Dispatcher ) -> getPage($track); ?>

Bizning dispetcherimizning getPage metodini chaqirish render kontroller metodini chaqiradi va ushbu metod chaqiruvi qaytgan narsani qaytaradi. Siz oldingi darsdan bilganingizdek, render kontroller metodi Page klassining ob'ektini qaytaradi.

Mana bizning Dispatcher klassimizning tayyorgarlik ko'rinishi:

<?php namespace Core; class Dispatcher { public function getPage(Track $track) { ...kod return kontroller -> render(parametrlar); } } ?>

Mening tayyorgarlik ko'rinishimdan foydalanib tasvirlangan Dispatcher klassini realizatsiya qiling. Uning ishlashini tekshiring. Qiyinchiliklar yuzaga kelsa, mening tayyorlagan o'quv freymvorkim fayllaridagi boshlang'ich kodni ko'rib chiqing.

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