নিজস্ব 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 ক্লাসে
আপনি বাস্তবায়নের অভাবপূর্ণ অংশ এবং এটির উপর আমার মন্তব্য পাবেন।