अपने 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 क्लास में आपको कार्यान्वयन का
गायब हिस्सा और उस पर मेरी टिप्पणियाँ मिलेंगी।