Named এবং Prefixed Routes

Routing এবং URL Mapping - কেকপিএইচপি (CakePHP) - Web Development

278

CakePHP এর রাউটিং সিস্টেম আপনাকে URL এর জন্য কাস্টম রাউট তৈরি করতে দেয়। এর মাধ্যমে আপনি কনট্রোলার, অ্যাকশন, এবং প্যারামিটারগুলি সহজে ম্যানেজ করতে পারেন। CakePHP রাউটিং সিস্টেমে Named Routes এবং Prefixed Routes দুটি গুরুত্বপূর্ণ কনসেপ্ট রয়েছে। এই দুই ধরনের রাউট ব্যবহারের মাধ্যমে আপনি URL গঠন এবং পরিচালনা আরও নমনীয়ভাবে করতে পারবেন।


Named Routes

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

Named Route তৈরি করা

Named Route তৈরি করতে, config/routes.php ফাইলে Router::connect() পদ্ধতি ব্যবহার করা হয়। এই পদ্ধতির মাধ্যমে আপনি একটি রাউটকে একটি নাম দিতে পারবেন।

// config/routes.php
Router::connect('/about', ['controller' => 'Pages', 'action' => 'about'], ['name' => 'about']);

উপরের কোডে, /about URL এর জন্য PagesController এর about অ্যাকশনকে যুক্ত করা হয়েছে, এবং রাউটটি about নামে পরিচিত হবে।

Named Route ব্যবহার করা

এখন, আপনি যেকোনো জায়গা থেকে এই রাউটটিকে নাম দিয়ে ব্যবহার করতে পারবেন, যেমন:

// কোথাও এই রাউটটি ব্যবহার করতে
echo $this->Url->build(['_name' => 'about']);

এটি /about URL তে রিডাইরেক্ট করবে বা নেভিগেট করবে।

Named Route এর সুবিধা

  • নিরাপত্তা: যখন আপনি কন্ট্রোলার এবং অ্যাকশনের জন্য URL নির্ধারণ করেন, তখন আপনি রাউটের নাম ব্যবহার করে URL তৈরি করতে পারেন, ফলে URL গুলি হার্ডকোড করার প্রয়োজন পড়ে না।
  • সতর্কতা: রাউটের নাম পরিবর্তন হলে, আপনাকে শুধু রাউটের নাম পরিবর্তন করতে হবে, আর আপনার অ্যাপ্লিকেশনের অন্যান্য অংশে রাউটের নাম একই থাকবে, URL পরিবর্তনের প্রয়োজন হবে না।

Prefixed Routes

Prefixed Routes হল একটি প্রক্রিয়া, যেখানে URL তে একটি নির্দিষ্ট প্রিফিক্স যোগ করা হয়, যা বিশেষ ধরনের কনট্রোলার বা অ্যাকশনদের জন্য ব্যবহৃত হয়। সাধারণত, Prefixed Routes ব্যবহার করা হয় অ্যাডমিন প্যানেল, মডারেটর প্যানেল, বা অন্য কোনও বিশেষ ধরনের অ্যাকশন গ্রুপিংয়ের জন্য।

Prefixed Route তৈরি করা

প্রিফিক্স রাউট তৈরি করতে, Router::prefix() পদ্ধতি ব্যবহার করা হয়। উদাহরণস্বরূপ, যদি আপনি একটি অ্যাডমিন প্রিফিক্স তৈরি করতে চান, তাহলে কোডটি হবে:

// config/routes.php
Router::prefix('admin', function ($routes) {
    $routes->connect('/dashboard', ['controller' => 'Dashboard', 'action' => 'index']);
    $routes->connect('/users', ['controller' => 'Users', 'action' => 'index']);
});

উপরের কোডে, /admin/dashboard এবং /admin/users URL গুলি AdminController এর DashboardController এবং UsersController এর অ্যাকশনে রিডাইরেক্ট করবে।

Prefixed Route ব্যবহার করা

এই প্রিফিক্স রাউটগুলি ব্যবহার করতে, আপনাকে Router::prefix() এর মাধ্যমে একে নির্ধারণ করতে হবে, যেমন:

// প্রিফিক্স রাউট ব্যবহার
echo $this->Url->build(['prefix' => 'admin', 'controller' => 'Dashboard', 'action' => 'index']);

এটি /admin/dashboard URL তৈরি করবে।

Prefixed Route এর সুবিধা

  • আনন্দজনক ইউআরএল স্ট্রাকচার: Prefixed Routes দিয়ে আপনি বিশেষ গ্রুপের অ্যাকশনগুলিকে পৃথকভাবে রাউট করতে পারেন, যেমন অ্যাডমিন, মডারেটর বা অন্য কোনও বিশেষ অঞ্চল।
  • রাউটিং কনভেনশন: একে অপরের থেকে আলাদা ভিউ এবং কন্ট্রোলার গ্রুপ করতে সহজ হয়।

Named এবং Prefixed Routes এর তুলনা

বিষয়Named RoutesPrefixed Routes
ব্যবহারনির্দিষ্ট রাউটের জন্য নাম দিয়ে অ্যাক্সেস করাএকটি নির্দিষ্ট প্রিফিক্স দিয়ে রাউটগুলোকে গ্রুপ করা
উদাহরণ/about, PagesController::about/admin/dashboard, AdminController::DashboardController
ফাংশনালিটিURL তৈরি বা রিডাইরেক্ট করতে নাম ব্যবহাররাউটগুলিকে প্রিফিক্স দিয়ে শ্রেণীবদ্ধ করা
প্রধান সুবিধারাউট নাম দিয়ে সহজে অ্যাক্সেস করাবিশেষ প্রিফিক্স দিয়ে রাউট গ্রুপিং

CakePHP তে Named Routes এবং Prefixed Routes ব্যবহার করে আপনি রাউটিংকে আরও নমনীয় এবং কাস্টমাইজড করতে পারবেন। Named Routes আপনাকে URL গুলি সহজে রেফারেন্স করার সুযোগ দেয়, যখন Prefixed Routes বিশেষ প্রিফিক্স দিয়ে রাউটগুলিকে একটি নির্দিষ্ট গ্রুপে শ্রেণীবদ্ধ করে। এই দুটি রাউটিং কৌশল ব্যবহার করলে, অ্যাপ্লিকেশনের রাউটিং লজিক আরো পরিষ্কার, সুরক্ষিত এবং সহজ হয়ে ওঠে।

Content added By
Promotion

Are you sure to start over?

Loading...