Phalcon ফ্রেমওয়ার্কে রাউটিং একটি গুরুত্বপূর্ণ ফিচার যা URL রিকোয়েস্টকে সঠিক কন্ট্রোলার এবং অ্যাকশনে রিডাইরেক্ট করে। Phalcon আপনাকে দুটি ধরনের রাউট তৈরি করার সুবিধা দেয়: Static Routes এবং Dynamic Routes। Static Routes নির্দিষ্ট URL এর জন্য রাউটিং করে, এবং Dynamic Routes URL এর প্যারামিটার গ্রহণ করে বিভিন্ন অ্যাকশনে রিডাইরেক্ট করতে সহায়ক।
Static Routes তৈরি করা
Static Routes ব্যবহার করে আপনি একটি নির্দিষ্ট URL এর জন্য রাউট তৈরি করতে পারেন, যা সব সময় একটি নির্দিষ্ট কন্ট্রোলার এবং অ্যাকশনকে কল করবে। Static Route সাধারণত এমন URL গুলির জন্য ব্যবহৃত হয় যেগুলি কখনো পরিবর্তিত হয় না।
Phalcon এ Static Route তৈরি করতে Phalcon\Mvc\Router ক্লাসের add() মেথড ব্যবহার করা হয়।
উদাহরণ: Static Route তৈরি
use Phalcon\Mvc\Router;
// রাউটার তৈরি করা
$router = new Router();
// Static route তৈরি করা
$router->add('/home', [
'controller' => 'index',
'action' => 'index',
]);
// রাউটটি চেক করা
$router->handle();
এখানে /home URL রিকোয়েস্ট আসলে এটি index কন্ট্রোলারের index অ্যাকশনে রিডাইরেক্ট করবে। এটি একটি Static Route, যেহেতু URL এবং অ্যাকশনটি পরিবর্তন হয় না।
Dynamic Routes তৈরি করা
Dynamic Routes URL এর প্যারামিটার গ্রহণ করতে সক্ষম, যা রাউটিং প্রক্রিয়ার সময় বিভিন্ন কন্ট্রোলার এবং অ্যাকশনকে কল করতে পারে। Dynamic Routes URL এর অংশ হিসেবে পরিবর্তনশীল ডেটা (যেমন, আইডি, নাম ইত্যাদি) গ্রহণ করে এবং সেগুলি কন্ট্রোলার বা অ্যাকশনের আর্গুমেন্ট হিসেবে ব্যবহার করা হয়।
Phalcon এ Dynamic Route তৈরি করতে, add() মেথডের মধ্যে প্লেসহোল্ডার ব্যবহার করা হয়, যা URL এর পরিবর্তনশীল অংশগুলিকে চিহ্নিত করে।
উদাহরণ: Dynamic Route তৈরি
use Phalcon\Mvc\Router;
// রাউটার তৈরি করা
$router = new Router();
// Dynamic route তৈরি করা
$router->add('/user/{id:[0-9]+}', [
'controller' => 'user',
'action' => 'profile',
]);
// রাউটটি চেক করা
$router->handle();
এখানে /user/{id:[0-9]+} রাউটটি একটি Dynamic Route, যেখানে {id} হল একটি প্লেসহোল্ডার যা কেবল সংখ্যাসমূহ গ্রহণ করবে (এটি [0-9]+ রেগুলার এক্সপ্রেশন দ্বারা নির্দিষ্ট করা হয়েছে)। এই রাউটটি user কন্ট্রোলারের profile অ্যাকশনে রিডাইরেক্ট করবে এবং id প্যারামিটার হিসেবে ইনপুট প্রদান করবে।
Static এবং Dynamic Routes এর মধ্যে পার্থক্য
- Static Routes: এগুলি নির্দিষ্ট URL এর জন্য রাউট তৈরি করে, যেমন
/home, যা কখনো পরিবর্তিত হয় না। - Dynamic Routes: এগুলি URL এর প্যারামিটার গ্রহণ করে, যেমন
/user/{id}, যেখানে{id}একটি পরিবর্তনশীল প্যারামিটার হিসেবে কাজ করে।
সারাংশ
Phalcon এ Static এবং Dynamic Routes তৈরি করা খুবই সহজ এবং কার্যকরী। Static Routes নির্দিষ্ট URL গুলির জন্য ব্যবহৃত হয়, যেখানে URL কখনো পরিবর্তিত হয় না। Dynamic Routes URL এর মধ্যে প্যারামিটার গ্রহণ করে এবং বিভিন্ন অ্যাকশনে ডেটা প্রেরণ করতে সক্ষম। এগুলি Phalcon এর রাউটিং সিস্টেমের শক্তিশালী বৈশিষ্ট্য, যা অ্যাপ্লিকেশন ডেভেলপমেন্টকে আরও সহজ এবং স্কেলেবল করে তোলে।
Read more