⊗ppMVDFmDs 29 of 35 menu

Oz MVC framework-də Dispetçerin hazırlanması

Faylın index.php hazırkı məzmununu xatırlayaq:

<?php namespace Core; error_reporting(E_ALL); ini_set('display_errors', 'on'); spl_autoload_register(function($class) { // sizin avtomatik yukləmə realizasiyanız }); $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php'; $track = ( new Router ) -> getTrack($routes, $_SERVER['REQUEST_URI']); ?>

Gördüyünüz kimi, hazırda router-ımız Track sinfinin obyektini qaytarır, içində nəzarətçinin adı, hərəkət adı və ü̈nvan sətirindən parametrlər saxlayır. Bundan əlavə, əvvəlki dərsdə biz bütün nəzarətçilərin valideynini etdik.

İndi biz $track dəyişənimizdə saxlanılan məlumatlara əsasən nəzarətçi metodunun çağrılmasını təmin edə bilərik.

Bununla xüsusi Dispatcher sinfi məşğul olacaq. Dispetçer Track sinfinin obyektini alacaq və onun məlumatlarına əsasən göstərilən sinfin obyektini yaradacaq, bu sinfin metodunu çağıracaq, metoda parametrləri ötürəcək.

Gəlin index.php faylına dispetçerin çağrılmasını əlavə edək:

<?php namespace Core; error_reporting(E_ALL); ini_set('display_errors', 'on'); spl_autoload_register(function($class) { // sizin avtomatik yukləmə realizasiyanız }); $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php'; $track = ( new Router ) -> getTrack($routes, $_SERVER['REQUEST_URI']); // Dispetçerin çağrılması: $page = ( new Dispatcher ) -> getPage($track); ?>

Dispetçerimizin getPage metodunun çağrılması nəzarətçinin render metodunu çağıracaq və bu metodun çağrılmasının qaytardığını qaytaracaq. Əvvəlki dərsdən artıq bildiyiniz kimi, nəzarətçinin render metodu Page sinfinin obyektini qaytarır.

Budur Dispatcher sinfimizin hazırlığı:

<?php namespace Core; class Dispatcher { public function getPage(Track $track) { ...kod return nəzarətçi -> render(parametrlər); } } ?>

Mənim hazırlığımdan istifadə edərək təsvir olunan Dispatcher sinfini realizə edin. Onun işini yoxlayın. Çətinliklər olduqda mənim hazırladığım təlim framework-unun fayllarındakı mənbə koduna baxın.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et