⊗ppMVDFmDs 29 of 35 menu

Diszpécser fejlesztése saját MVC keretrendszerben

Emlékezzünk vissza a index.php fájl jelenlegi tartalmára:

<?php namespace Core; error_reporting(E_ALL); ini_set('display_errors', 'on'); spl_autoload_register(function($class) { // az Ön automatikus betöltési implementációja }); $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php'; $track = ( new Router ) -> getTrack($routes, $_SERVER['REQUEST_URI']); ?>

Amint láthatja, jelenleg a routerünk egy Track osztályú objektumot ad vissza, amely tartalmazza a vezérlő nevét, a művelet nevét és a paramétereket a cím sorból. Ezenkívül az előző leckében elkészítettük az összes vezérlő szülőjét.

Most már megtehetjük, hogy meghívásra kerüljön a vezérlő metódusa, amelynek adatai a $track változónkban találhatók.

Ezt egy speciális Dispatcher osztály fogja elvégezni. A diszpécser megkapja a Track osztály objektumát és annak adatai alapján létrehozza a megadott osztály objektumát, meghívja az osztály metódusát, átadva a metódusnak a paramétereket.

Adjunk hozzá diszpécser hívást a index.php fájlhoz:

<?php namespace Core; error_reporting(E_ALL); ini_set('display_errors', 'on'); spl_autoload_register(function($class) { // az Ön automatikus betöltési implementációja }); $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php'; $track = ( new Router ) -> getTrack($routes, $_SERVER['REQUEST_URI']); // Diszpécser hívása: $page = ( new Dispatcher ) -> getPage($track); ?>

A diszpécser getPage metódusának hívása meghívja a vezérlő render metódusát és visszaadja, amit a metódus hívása visszaadott. Amint az előző leckéből már tudja, a render metódus egy Page osztályú objektumot ad vissza.

Itt a Dispatcher osztályunk vázlata:

<?php namespace Core; class Dispatcher { public function getPage(Track $track) { ...kód return vezérlő -> render(paraméterek); } } ?>

Az általam készített vázlat felhasználásával valósítsa meg a leírt Dispatcher osztályt. Ellenőrizze a működését. Nehézség esetén nézze meg a forráskódot az általam készített oktatási keretrendszer fájljaiban.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás