⊗ppMVDFmDs 29 of 35 menu

Öz MVC çäreňizdä dispetçeri işläp taýýarlaň

Indiki index.php faýlynyň mazmunyny ýatlap göreli:

<?php namespace Core; error_reporting(E_ALL); ini_set('display_errors', 'on'); spl_autoload_register(function($class) { // siziň awtomatik ýüklemek amalyňyz }); $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php'; $track = ( new Router ) -> getTrack($routes, $_SERVER['REQUEST_URI']); ?>

Görşüňiz ýaly, häzirki wagtda router-ymyz Track klassynyň obýektini yzyna gaýtarýar, ýöneşdirijiniň adyny, hereketiň adyny we salgys setirinden parametrleri öz içine alýar. Şeýle-de, öňki sapakda biz ähli ýöneşdirijileriň atasyny ýasadyk.

Indi biz $track üýtgeýjimizde ýerleşen ýöneşdirijiniň usulynyň çagyrylýandygy ýaly etmeli.

Bunu ýörite Dispatcher klassy ýerine ýetirer. Dispetçer Track klassynyň obýektini alyp, onuň maglumatlaryna görä görkezilen klassyň obýektini döreder, bu klassyň usulyny çagyrar, bu usula parametrleri geçirýär.

Geliň, index.php faýlyna dispetçeriň çagyrylyşyny goşalyň:

<?php namespace Core; error_reporting(E_ALL); ini_set('display_errors', 'on'); spl_autoload_register(function($class) { // siziň awtomatik ýüklemek amalyňyz }); $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php'; $track = ( new Router ) -> getTrack($routes, $_SERVER['REQUEST_URI']); // Dispetçeri çakyrýarys: $page = ( new Dispatcher ) -> getPage($track); ?>

Dispetçerimiziň getPage usulynyň çagyrylmagy ýöneşdirijiniň render usulyny çagyrar we şol usulyň çagyrylyşyndan yzyna gaýdan zady gaýtarar. Öňki sapakdan bilişiňiz ýaly, ýöneşdirijiniň render usuly Page klassynyň obýektini yzyna gaýtarýar.

Dispatcher klassymyzyň taýýar şablonynyň görnüşi:

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

Men taýýarlan şablony ulanyp, beýan edilen Dispatcher klassyny amala aşyryň. Onuň işini barlaň. Kynçylyk ýüze çykanda meniň taýýarlan okuw çäremin faýlaryndaky başlangyç koda serediň.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et