⊗ppMVDFmDs 29 of 35 menu

Өзүңүздүн MVC фреймворкуңуздагы диспетчерди иштеп чыгуу

index.php файлынын учурдагы мазмунун эске алалы:

<?php namespace Core; error_reporting(E_ALL); ini_set('display_errors', 'on'); spl_autoload_register(function($class) { // сиздин автозагрузка ишке ашырылышыңыз }); $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php'; $track = ( new Router ) -> getTrack($routes, $_SERVER['REQUEST_URI']); ?>

Көрүп тургандарыңыздай, азырынча биздин роутер Track класстын объектин кайтарат, ал дарек сабынан контроллердин атын, иш-аракеттин атын жана параметрлерди камтыйт. Мындан тышкары, өткөн сабакта биз бардык контроллерлердин ата-энесин жасадык.

Эми биз $track өзгөрмөбүздө камтылган маалыматтар боюнча контроллер методу чакырылышына жетише алабыз.

Муну атайын Dispatcher классты ишке ашырат. Диспетчер Track класстын объектин алат жана анын маалыматтары боюнча көрсөтүлгөн класстын объектин түзөт, ошол класстын методун чакырат, параметрлерди ошол методго өткөрүп берет.

Келгиле, диспетчер чакыруусун index.php файлына кошолу:

<?php namespace Core; error_reporting(E_ALL); ini_set('display_errors', 'on'); spl_autoload_register(function($class) { // сиздин автозагрузка ишке ашырылышыңыз }); $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php'; $track = ( new Router ) -> getTrack($routes, $_SERVER['REQUEST_URI']); // Диспетчер чакыруу: $page = ( new Dispatcher ) -> getPage($track); ?>

Биздин диспетчердин getPage методу render контроллер методун чакырат жана ошол методдун чакыруусу кайтарган нерсени кайтарат. Өткөн сабактан биле тургандарыңыздай, контроллердин render методу Page класстын объектин кайтарат.

Мына биздин Dispatcher класстын даярдоосу:

<?php namespace Core; class Dispatcher { public function getPage(Track $track) { ...код return контроллер -> render(параметтер); } } ?>

Менин даярдоомду колдонуп, сүрөттөлгөн Dispatcher классты ишке ашырыңыз. Анын ишин текшериңиз. Кыйынчылык чыкса, менин жасаган окуу фреймворкумдун файлдарындагы баштапкы кодду караңыз.

Кыргызча
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 файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу