⊗ppMVDFmRr 25 of 35 menu

Pembangunan Penghala dalam Kerangka MVC Sendiri

Sekarang anda perlu membangunkan penghala. Ia merupakan kelas yang akan mengambil array laluan, mengambil URL yang diminta, dan menentukan laluan mana yang sepadan dengan URL tersebut. Selepas menemui laluan yang sepadan, kelas kami harus mendapatkan bahagian URL, yang sepadan dengan parameter laluan.

Biarkan hasilnya, penghala kami mengembalikan objek kelas Track, yang mengandungi nama pengawal yang harus dipanggil untuk permintaan ini, nama tindakan dan parameter dari URL.

Biarkan kelas Track kami mempunyai sifat controller, action dan params, hanya boleh diakses untuk dibaca:

<?php namespace Core; class Track { private $controller; private $action; private $params; public function __construct($controller, $action, $params) { $this->controller = $controller; $this->action = $action; $this->params = $params; } public function __get($property) { return $this->$property; } } ?>

Contoh

Sebagai contoh, katakan dalam bar alamat dimasukkan /test/1/2/. Katakan kami mempunyai laluan, yang sepadan dengan alamat ini:

<?php new Route('/test/:var1/:var2/', 'test', 'index'); ?>

Ini bermakna nama pengawal akan menjadi test, nama tindakan - index, dan array parameter akan seperti berikut:

<?php ['var1' => 1, 'var2' => 2] ?>

Matlamat pelajaran ini - menulis kelas Router, yang mengembalikan objek kelas Track. Selebihnya tidak menyentuh kami buat masa ini. Mari kita mulakan menulis kelas ini.

Tugas Praktikal

Salin kod kelas Track saya dan letakkannya dalam fail /core/Track.php.

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