Routes হলো CodeIgniter-এ এমন একটি সিস্টেম, যা ইউজারের রিকোয়েস্ট করা URL কে নির্ধারিত কন্ট্রোলার এবং মেথড-এর সাথে সংযুক্ত করে। এটি URL গুলোকে আরও রিডেবল, SEO-বান্ধব, এবং কাস্টমাইজযোগ্য করতে ব্যবহৃত হয়। CodeIgniter-এ Routes কনফিগারেশন খুবই সহজ এবং শক্তিশালী।
Routes কীভাবে কাজ করে?
Routes ফাইল app/Config/Routes.php এ সংরক্ষিত থাকে। CodeIgniter প্রতিটি URL কে একটি নির্দিষ্ট কন্ট্রোলার এবং মেথডের সাথে সংযুক্ত করতে এই ফাইল ব্যবহার করে।
ডিফল্ট Route
CodeIgniter একটি ডিফল্ট Route ব্যবহার করে, যা ওয়েলকাম পেজ প্রদর্শন করে:
$routes->get('/', 'Home::index');
/: URL এর রুট অংশ নির্দেশ করে।'Home::index': Home কন্ট্রোলারের index() মেথডকে নির্দেশ করে।
Routes কনফিগার করা
১. Routes.php ফাইল খোলা
app/Config/Routes.php ফাইলটি খুলুন এবং প্রয়োজনীয় Route কনফিগারেশন যুক্ত করুন।
২. কাস্টম Route যুক্ত করা
Route কনফিগার করতে $routes অবজেক্ট ব্যবহার করা হয়।
GET Route
GET রিকোয়েস্টের জন্য একটি Route:
$routes->get('about', 'Pages::about');
about: URL।Pages::about: Pages কন্ট্রোলারের about() মেথড।
POST Route
POST রিকোয়েস্টের জন্য Route:
$routes->post('submit', 'Form::submit');
PUT এবং DELETE Route
PUT এবং DELETE রিকোয়েস্টের জন্য Route:
$routes->put('update', 'User::update');
$routes->delete('delete', 'User::delete');
Resource Route
Resourceful কন্ট্রোলারের জন্য Route:
$routes->resource('products');
এটি স্বয়ংক্রিয়ভাবে CRUD (Create, Read, Update, Delete) রুট তৈরি করবে।
Dynamic Routes (URL Parameters)
URL এর মাধ্যমে ডাইনামিক ডেটা পাঠানোর জন্য প্যারামিটার ব্যবহার করা হয়।
একক প্যারামিটার
$routes->get('product/(:num)', 'Product::details/$1');
(:num): শুধুমাত্র সংখ্যার জন্য প্যারামিটার।$1: প্রথম প্যারামিটার।
একাধিক প্যারামিটার
$routes->get('user/(:any)/(:num)', 'User::profile/$1/$2');
(:any): যেকোনো ধরণের স্ট্রিং বা নম্বর।$1এবং$2: প্যারামিটার ক্রমানুসারে পাস হবে।
Route Groups
Route গুলোকে গ্রুপে সংগঠিত করা যায়। এটি বড় অ্যাপ্লিকেশনের জন্য খুবই উপযোগী।
$routes->group('admin', function($routes) {
$routes->get('dashboard', 'Admin::dashboard');
$routes->get('users', 'Admin::users');
});
- Access URL:
/admin/dashboard/admin/users
Route ফিল্টার যুক্ত করা
Route ফিল্টার ব্যবহার করে নির্দিষ্ট Route-এ Authentication বা Authorization যাচাই করা যায়।
ফিল্টার সংজ্ঞায়িত করা
app/Config/Filters.php ফাইল থেকে ফিল্টার সংজ্ঞায়িত করুন:
public $aliases = [
'auth' => \App\Filters\AuthFilter::class,
];
ফিল্টার Route-এ যুক্ত করা
$routes->group('dashboard', ['filter' => 'auth'], function($routes) {
$routes->get('home', 'Dashboard::home');
});
Route Priority
Route কনফিগার করার সময় সর্বাধিক নির্দিষ্ট Route উপরে রাখতে হবে। উদাহরণ:
$routes->get('product/edit/(:num)', 'Product::edit/$1');
$routes->get('product/(:num)', 'Product::details/$1');
এতে প্রথমে edit Route কার্যকর হবে এবং তারপর details।
Route Test
আপনার Route ঠিকভাবে কাজ করছে কিনা তা নিশ্চিত করতে ব্রাউজারে URL লিখুন। উদাহরণ:
http://localhost/your_project_name/about- যদি Route ঠিকমতো কাজ না করে, ডিফল্ট 404 পেজ দেখা যাবে।
CodeIgniter এর Routes সিস্টেম অ্যাপ্লিকেশনকে আরও কার্যকরী এবং ব্যবহারযোগ্য করে তোলে। সঠিকভাবে Route কনফিগার করা আপনার অ্যাপ্লিকেশনের স্ট্রাকচার এবং ইউজার এক্সপেরিয়েন্স উন্নত করতে সাহায্য করে।
Read more