⊗ppMVDFmRrIm 27 of 35 menu

როუტერის იმპლემენტაცია საკუთარ MVC ფრეიმვორქში

მოდით ახლა დავწეროთ კლასის Router შაბლონი ჩვენი გამოძახებების შესაბამისად:

<?php namespace Core; class Router { private $routes; public function getTrack($routes, $uri) { // აქ იქნება კოდი } } ?>

მეთოდში getTrack ჩვენ უნდა განვსაზღვროთ, რომელი როუტი შეესაბამება მოცემულ $uri-ს. ამისთვის საჭიროა ჩვენი მასივი როუტებით გადავუაროთ ციკლით:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { // $uri-ის და $route-ის შემოწმება } } } ?>

თუ რომელიმე როუტი შეესაბამება URI-ს, ჩვენ უნდა მივიღოთ ამ URI-დან როუტის პარამეტრების მნიშვნელობები და დავაბრუნოთ Track კლასის ობიექტი:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { if (როუტის და URI-ის შესაბამისობის შემოწმება) { $params = ; // საჭიროა uri-დან პარამეტრების მიღება return new Track($route->controller, $route->action, $params); } } return new Track('error', 'notFound'); // თუ არცერთი როუტი არ მოერგება } } ?>

დააკოპირეთ ჩემი მიერ შექმნილი კლასის Router შაბლონი და განათავსეთ იგი ფაილში /core/Router.php.

რეალიზება გაუკეთეთ აღწერილ კლასს Router, რომლის შედეგად დააბრუნებს Track კლასის ობიექტს. თუ გაგიჭირდებათ (რაც საკმაოდ სავარაუდოა), შეხედეთ იმ ფრეიმვორქის საწყის კოდს, რომლის მეშვეობითაც MVC-ის გამოყენებას სწავლობდით. იქ Router კლასში თქვენ იპოვით დაკარგულ იმპლემენტაციის ნაწილს და ჩემი კომენტარებს მასზე.

ქართული
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČ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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა