O'z MVC freymvorkingizda routerni amalga oshirish
Keling, endi Router klassining qolipini
bizning chaqiruvlarimizga muvofiq yozamiz:
<?php
namespace Core;
class Router
{
private $routes;
public function getTrack($routes, $uri)
{
// bu yerda kod bo'ladi
}
}
?>
getTrack metodida biz qaysi route
berilgan $uri ga mos kelishini aniqlashimiz
kerak. Buning uchun route'lar massivini
siklda aylantirish kerak:
<?php
namespace Core;
class Router
{
public function getTrack($routes, $uri)
{
foreach ($routes as $route) {
// $uri va $route'ni tekshirish
}
}
}
?>
Agar qandaydir route URIga mos kelsa, biz
ushbu URIdan route parametrlarining qiymatlarini
olib, Track klassining ob'ektini qaytarishimiz
kerak:
<?php
namespace Core;
class Router
{
public function getTrack($routes, $uri)
{
foreach ($routes as $route) {
if (route va URIning mosligini tekshirish) {
$params = ; // uridan parametrlarni olish kerak
return new Track($route->controller, $route->action, $params);
}
}
return new Track('error', 'notFound'); // agar hech bir route mos kelmasa
}
}
?>
Router klassining qolipini nusxalab oling
va /core/Router.php faylida joylashtiring.
Router klassini amalga oshiring,
natijada Track klassining ob'ektini
qaytaradigan. Agar qiynalsangiz
(bu juda ehtimol), MVC dan foydalanishni
o'rgangan freymvorkingizning manba kodiga qarang.
U erda Router klassida amalga oshirishning
yetishmayotgan qismini va unga izohlarimni topasiz.