⊗ppMVDFmDs 29 of 35 menu

Pembangun Pengirim dalam Kerangka MVC Sendiri

Mari kita ingat semula kandungan fail index.php semasa:

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

Seperti yang anda lihat, setakat ini penghala kami mengembalikan objek kelas Track, yang mengandungi nama pengawal, nama tindakan dan parameter dari baris alamat. Selain itu, dalam pelajaran sebelumnya kami telah membuat induk untuk semua pengawal.

Sekarang kita boleh membuat supaya panggilan kaedah pengawal, yang datanya terkandung dalam pembolehubah $track kami, berlaku.

Ini akan dilakukan oleh kelas khas Dispatcher. Pengirim akan menerima objek kelas Track dan berdasarkan datanya mencipta objek kelas yang ditentukan, memanggil kaedah kelas tersebut, sambil menghantar parameter kepada kaedah itu.

Mari tambah panggilan pengirim dalam fail index.php:

<?php namespace Core; error_reporting(E_ALL); ini_set('display_errors', 'on'); spl_autoload_register(function($class) { // pelaksanaan autoload anda }); $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php'; $track = ( new Router ) -> getTrack($routes, $_SERVER['REQUEST_URI']); // Panggilan pengirim: $page = ( new Dispatcher ) -> getPage($track); ?>

Panggilan kaedah getPage pengirim kami akan memanggil kaedah render pengawal dan mengembalikan apa yang dikembalikan oleh panggilan kaedah itu. Seperti yang anda sudah tahu dari pelajaran sebelumnya, kaedah render pengawal mengembalikan objek kelas Page.

Berikut adalah rangka kelas Dispatcher kami:

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

Dengan menggunakan rangka saya, laksanakan kelas Dispatcher yang diterangkan. Semak kerjanya. Jika menghadapi kesulitan, lihat kod sumber dalam fail kerangka pengajaran yang saya buat.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak