⊗ppMVDFmDs 29 of 35 menu

Uundaji wa Dispatcher katika Mfumo wako wa MVC

Tukumbuke yaliyomo kwa sasa ya faili index.php:

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

Kama unavyoona, kwa sasa router wetu inarudisha kipenzi cha darasa Track, kilichokuwa na jina la controller, jina la kitendo na vigezo kutoka kwenye mstari wa anwani. Zaidi ya hayo, katika somo lilopita tulifanya mzazi wa controllers zote.

Sasa tunaweza kufanya ili kuitwe njia ya controller, ambayo data yake iko kwenye tunable yetu $track.

Hii itafanywa na darasa maalum Dispatcher. Dispatcher itapokea kipeenzi cha darasa Track na kwa data zake kuunda kipeenzi cha darasa maalum, kuita njia ya darasa hilo, na kumpitisha katika njia hiyo vigezo.

Wacha tuongeze wito wa dispatcher kwenye faili index.php:

<?php namespace Core; error_reporting(E_ALL); ini_set('display_errors', 'on'); spl_autoload_register(function($class) { // utekelezaji wako wa upakiaji otomatiki }); $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php'; $track = ( new Router ) -> getTrack($routes, $_SERVER['REQUEST_URI']); // Wito wa dispatcher: $page = ( new Dispatcher ) -> getPage($track); ?>

Uitaji wa njia getPage ya dispatcher yetu utaita njia render ya controller na kurudisha ile ambayo itarudiwa na wito wa njia hiyo. Kama tayari unajua kutoka kwenye somo lilopita, njia render ya controller hurudisha kipeenzi cha darasa Page.

Hapa kuna maandalizi ya darasa letu Dispatcher:

<?php namespace Core; class Dispatcher { public function getPage(Track $track) { ...code return controller -> render(parameters); } } ?>

Kwa kutumia maandalizi yangu, tekeleza darasa liloelezewa Dispatcher. Angalia utendaji wake. Kwa shida angalia msingi code kwenye faili za mfumo wa mafunzo uliofanywa na mimi.

Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa