⊗ppMVDFmDs 29 of 35 menu

Développement du répartiteur dans son propre framework MVC

Rappelons le contenu actuel du fichier index.php :

<?php namespace Core; error_reporting(E_ALL); ini_set('display_errors', 'on'); spl_autoload_register(function($class) { // votre implémentation de l'autochargement }); $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php'; $track = ( new Router ) -> getTrack($routes, $_SERVER['REQUEST_URI']); ?>

Comme vous pouvez le voir, pour l'instant, notre routeur retourne un objet de la classe Track, contenant le nom du contrôleur, le nom de l'action et les paramètres de la ligne d'adresse. De plus, dans la leçon précédente, nous avons créé le parent de tous les contrôleurs.

Maintenant, nous pouvons faire en sorte que l'appel de la méthode du contrôleur, dont les données sont contenues dans notre variable $track, se produise.

C'est une classe spéciale Dispatcher qui s'en chargera. Le répartiteur recevra un objet de la classe Track et, à partir de ses données, créera un objet de la classe spécifiée, appellera la méthode de cette classe, en transmettant les paramètres à cette méthode.

Ajoutons l'appel du répartiteur dans le fichier index.php :

<?php namespace Core; error_reporting(E_ALL); ini_set('display_errors', 'on'); spl_autoload_register(function($class) { // votre implémentation de l'autochargement }); $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php'; $track = ( new Router ) -> getTrack($routes, $_SERVER['REQUEST_URI']); // Appel du répartiteur : $page = ( new Dispatcher ) -> getPage($track); ?>

L'appel de la méthode getPage de notre répartiteur appellera la méthode render du contrôleur et retournera ce que cet appel a renvoyé. Comme vous le savez déjà depuis la leçon précédente, la méthode render du contrôleur retourne un objet de la classe Page.

Voici l'ébauche de notre classe Dispatcher :

<?php namespace Core; class Dispatcher { public function getPage(Track $track) { ...code return contrôleur -> render(paramètres); } } ?>

En utilisant mon ébauche, implémentez la classe Dispatcher décrite. Vérifiez son fonctionnement. En cas de difficultés, consultez le code source dans les fichiers de mon framework pédagogique réalisé.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser