Named এবং Prefixed Routes

Routing এবং URL Mapping - ফুয়েলপিএইচপি (FuelPHP) - Web Development

257

FuelPHP একটি আধুনিক, মডুলার এবং সহজে কাস্টমাইজযোগ্য PHP ফ্রেমওয়ার্ক যা MVC (Model-View-Controller) আর্কিটেকচার অনুসরণ করে। FuelPHP-তে রাউটিং খুবই গুরুত্বপূর্ণ একটি বিষয়, যা বিভিন্ন ইউআরএল প্যাটার্ন এবং তাদের কন্ট্রোলার/অ্যাকশনগুলোর মধ্যে সম্পর্ক স্থাপন করে। FuelPHP-তে Named Routes এবং Prefixed Routes দুটি গুরুত্বপূর্ণ রাউটিং কৌশল রয়েছে যা ওয়েব অ্যাপ্লিকেশনের রাউটিং উন্নত করতে সহায়ক।

Named Routes in FuelPHP

Named Routes হল এমন রাউট যা একটি নির্দিষ্ট নাম দিয়ে পরিচিত হয়। এই নামের মাধ্যমে আপনি ইউআরএলগুলোকে সহজে রেফারেন্স করতে পারেন, যা আপনার কোডকে পরিষ্কার এবং রিডেবল করে তোলে।

Named Route এর সুবিধা:

  1. Reusability: একবার রাউটের নাম নির্ধারণ করলে সেই নামটি পুনরায় ব্যবহার করা সহজ হয়। এটি কোডকে আরও পুনঃব্যবহারযোগ্য এবং সুসংগঠিত করে।
  2. Avoid Hardcoding: ইউআরএল-এ পরিবর্তন হলে, আপনি কেবল রাউট নামটি পরিবর্তন করলেই হবে, যেটি অন্য কোথাও ব্যবহৃত হয়েছে, কোডে ইউআরএল পরিবর্তন করতে হবে না।

Named Route উদাহরণ:

FuelPHP-তে Named Route তৈরি করার জন্য Router::add() ব্যবহার করা হয়, যেখানে ইউআরএল প্যাটার্ন এবং রাউট নাম স্পেসিফাই করা হয়। নিচে একটি উদাহরণ দেওয়া হল:

Route::set('blog', 'blog(/<action>)')
    ->defaults(array(
        'controller' => 'blog',
        'action'     => 'index',
    ))
    ->name('blog_index');

এখানে:

  • Route::set('blog', 'blog(/<action>)'): এই রাউটটি blog ইউআরএল প্যাটার্নের জন্য রেজিস্টার করা হয়েছে।
  • name('blog_index'): এই রাউটের জন্য একটি নাম blog_index দেয়া হয়েছে। এখন আপনি এই রাউটটিকে তার নাম দিয়ে রেফারেন্স করতে পারবেন।

Named Route ব্যবহার:

Named Route ব্যবহার করতে, আপনি Uri::create() ফাংশন ব্যবহার করে সেই নামের রাউটের ইউআরএল তৈরি করতে পারেন:

echo Uri::create('blog');  // এটি 'blog' পাথ রিটার্ন করবে।

এছাড়া, আপনি named route এর মাধ্যমে dynamic URLs তৈরি করতে পারেন:

echo Uri::create('blog/view/12');  // এটি 'blog/view/12' পাথ রিটার্ন করবে।

Prefixed Routes in FuelPHP

Prefixed Routes হল এমন রাউট যেগুলোর একটি নির্দিষ্ট পূর্ববর্তী অংশ (prefix) থাকে, যা নির্দিষ্ট একাধিক রাউটকে একত্রিত করতে সহায়তা করে। এই ধরনের রাউট সাধারণত একটি নির্দিষ্ট কন্ট্রোলারের সঙ্গে যুক্ত হয়, যেখানে রাউটের শুরুতে একটি সাধারণ পূর্ববর্তী অংশ থাকবে। এটি আপনাকে URL গুলির মধ্যে পুনঃব্যবহারযোগ্য অংশ নির্ধারণ করতে সাহায্য করে।

Prefixed Routes এর সুবিধা:

  1. URL Organization: যখন একাধিক রাউটের একটি সাধারণ পূর্ববর্তী অংশ থাকে, তখন তা URL গুলিকে আরও সংগঠিত করে তোলে।
  2. Clean Routing: Prefixed Routes আপনাকে কোড ক্লিন এবং কনসিস্টেন্ট রাখতে সাহায্য করে। আপনি সহজেই একসাথে অনেক রাউটকে একে অপরের সাথে গ্রুপ করতে পারেন।

Prefixed Routes উদাহরণ:

FuelPHP-তে Prefixed Route তৈরি করতে, আপনি Router::set() ব্যবহার করতে পারেন এবং প্যারামিটারের মধ্যে prefix সেট করতে পারেন:

Route::set('admin/<controller>', 'admin/<controller>/(<action>)')
    ->defaults(array(
        'controller' => 'dashboard',
        'action'     => 'index',
    ));

এখানে:

  • 'admin/<controller>': এই রাউটের জন্য পূর্ববর্তী অংশ admin থাকবে, যা প্রতিটি কন্ট্রোলারের জন্য প্রিফিক্স হিসেবে কাজ করবে।
  • defaults(array(...)): এখানে ডিফল্ট কন্ট্রোলার এবং অ্যাকশন সেট করা হয়েছে।

Prefixed Routes ব্যবহার:

Prefixed Route ব্যবহার করার সময়, আপনি সহজেই admin রুটে প্রতিটি কন্ট্রোলারের জন্য কাজ করতে পারবেন:

// Access admin dashboard
Uri::create('admin/dashboard');

// Access admin settings
Uri::create('admin/settings');

এটি admin/ পূর্ববর্তী অংশে সমস্ত কন্ট্রোলার এবং অ্যাকশনকে যুক্ত করবে, যা ইউজারের জন্য একে অপরের সাথে সম্পর্কিত ইউআরএলগুলো খুবই পরিষ্কার করে তোলে।

Named এবং Prefixed Routes এর সংমিশ্রণ:

Named Routes এবং Prefixed Routes একত্রে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, আপনি admin প্রিফিক্স সহ একটি কন্ট্রোলার তৈরি করতে পারেন এবং সেই কন্ট্রোলারের একটি নির্দিষ্ট অ্যাকশনকে named route হিসেবে রেজিস্টার করতে পারেন:

Route::set('admin/<controller>', 'admin/<controller>/(<action>)')
    ->defaults(array(
        'controller' => 'dashboard',
        'action'     => 'index',
    ))
    ->name('admin_dashboard');

এখানে:

  • admin_dashboard নামের রাউটটি তৈরি হয়েছে, যা admin/dashboard পাথে পরিচালিত হবে।

এখন, আপনি admin_dashboard নামের রাউটটি Uri::create('admin_dashboard') দিয়ে সহজে ব্যবহার করতে পারবেন।

সারাংশ:

  • Named Routes FuelPHP-তে রাউটের জন্য একটি নির্দিষ্ট নাম প্রদান করে, যা কোডে পুনঃব্যবহারের জন্য খুবই সুবিধাজনক।
  • Prefixed Routes বিভিন্ন রাউটের মধ্যে একটি সাধারণ পূর্ববর্তী অংশ দিয়ে সেগুলোকে গ্রুপ করে, যা URL গুলির আর্কিটেকচার পরিষ্কার এবং সুশৃঙ্খল করে তোলে।
  • আপনি Named Routes এবং Prefixed Routes একত্রিত করে FuelPHP রাউটিং ব্যবস্থাকে আরও শক্তিশালী এবং উপযোগী করতে পারেন।
Content added By
Promotion

Are you sure to start over?

Loading...