logo

কাস্টম রাউট ফাইল কিভাবে ইউজ করব?

Q:
আমি যদি চাই আমি একটা এপলিকেশন বানাবো কিন্তু তার আমার রাউট আমি রাউটে ফাইলে না লিখে ওটার জন্য কাস্টম রাউট ফাইলে রাখব । সেটার জন্য আমাকে কি জানতে হবে ?

লারাভেলে routes নামে একটি ফোল্ডার আছে যার ভেতর রাউট ফাইলগুলি থাকে যেখানে আমরা আমাদের এপ্লিকেশনের রাউটগুলো ডিফাইন করে থাকি। app/providers ফোল্ডারের ভিতর RouteServiceProvider নামে একটি প্রভাইডার ক্লাস আছে যা রাউট ফাইল কে লোড করে এবং ফাইলে থাকা রাউট গুলোকে এপ্লিকেশনে রেজিস্টার করে। আমরা যদি চাই যে আমরা ডিফল্ট রাউট ফাইল ইউজ করব না বরং কাস্টম ফাইল থেকে রাউট ইউজ করব সেজন্য আমাদেরকে RouteServiceProvider ক্লাসে আমাদের কাস্টম ফাইলকে এড করে দিতে হবে নীচের নিয়ম অনুযায়ী -

class RouteServiceProvider extends ServiceProvider
{
    // ...
    public function map()
    {
        $this->mapApiRoutes();
        $this->mapWebRoutes();
        // এখানে আমাদের কাস্টম রাউট ফাইল টি দিতে হবে।
        Route::namespace($this->namespace)
             ->group(base_path('routes/custom_file_name.php'));
    }
}

উপরে আমরা routes ডিরেক্টরির ভেতর custom_file_name.php এই ফাইল লোড করার জন্য বলে দিয়েছি। আমাদের ফাইলটি আমরা routes ফোল্ডার ছাড়াও আপ্লিকেশনের রুট ডিরেক্টরির যেকোন জায়গায় রাখতে পারি। সেক্ষেত্রে রুট ফোল্ডার থেকে আমাদের ফাইলের path টি ঠিকভাবে দিতে হবে। উপরে আমরা namespace মেথডে ডিফল্ট controller গুলো যে namespace এ আছে তা দিয়েছি, যদি আমরা চাই আমাদের কন্ট্রোলারগুলো অন্য কোন জায়গায় থাকবে সেক্ষেত্রে ওই মেথডে সেই namespace বলে দিতে হবে।

    public function map()
    {
        ...
        // এখানে আমাদের কাস্টম রাউট ফাইল টি রুট ফোল্ডার এর blog ফোল্ডারের ভেতর আছে
        Route::namespace('Hasnayeen\Blog\Controllers')
             ->group(base_path('blog/custom_file_name.php'));
    }
আপনার মন্তব্যঃ
পোস্ট সম্পর্কে আপনার মতামত বা কোন ত্রুটি পেয়ে থাকলে নিচে জানাতে ভুলবেন না।