⊗ppMVDFmRr 25 of 35 menu

Kendi MVC Framework'ümüzde Router Geliştirme

Şimdi bir router geliştirmeniz gerekiyor. Bu, rotalar dizisini alacak, istenen URL'yi alacak ve hangi rotanın bu URL'ye karşılık geldiğini belirleyecek bir sınıftır. İlgili rotayı bulduktan sonra, sınıfımız URL'nin parametrelere karşılık gelen kısımlarını almalıdır.

Router'ımızın sonucu olarak, üzerinde çağrılması gereken denetleyicinin adını, eylemin adını ve URL'den parametreleri içeren Track sınıfının bir nesnesini döndürsün.

Track sınıfımızın, sadece okunabilir olan controller, action ve params özellikleri olsun:

<?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; } } ?>

Örnek

Örnek olarak, adres çubuğuna /test/1/2/ yazıldığını varsayalım. Bu adrese karşılık gelen bir rotamız olduğunu düşünelim:

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

Bu, denetleyici adının test, eylem adının index ve parametre dizisinin aşağıdaki gibi olacağı anlamına gelir:

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

Bu dersin amacı, Track sınıfının bir nesnesini döndüren Router sınıfını yazmaktır. Gerisi şimdilik bizi ilgilendirmiyor. Haydi bu sınıfı yazmaya başlayalım.

Pratik Görevler

Benim Track sınıfımın kodunu kopyalayın ve /core/Track.php dosyasına yerleştirin.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet