Phalcon ফ্রেমওয়ার্কে রাউটিং একটি গুরুত্বপূর্ণ ফিচার, যা URL এর মাধ্যমে কন্ট্রোলার এবং অ্যাকশনের সাথে প্যারামিটার পাস করার সুযোগ দেয়। এর মাধ্যমে ডাইনামিক পেজগুলি তৈরি করা সম্ভব হয়, যেখানে বিভিন্ন ডেটা বিভিন্ন রাউটের মাধ্যমে কন্ট্রোলার অ্যাকশনে পাঠানো হয়।
এখানে আমরা দেখবো কিভাবে Phalcon এর রাউটিং সিস্টেমে প্যারামিটার পাস করা যায় এবং তা কিভাবে কন্ট্রোলার ও অ্যাকশনে গ্রহণ করা যায়।
Phalcon এ রাউট প্যারামিটার পাস করা
Phalcon এর রাউটিং সিস্টেম আপনাকে বিভিন্ন ধরনের প্যারামিটার পাস করার সুবিধা দেয়। সাধারণত প্যারামিটার URL-এ পাস করা হয়, যেগুলি কন্ট্রোলার এবং অ্যাকশনের মাধ্যমে গ্রহণ করা হয়।
রাউটিং কনফিগারেশন
Phalcon এ রাউট প্যারামিটার পাস করার জন্য আপনি Router ক্লাস ব্যবহার করেন। রাউট কনফিগারেশনে প্যারামিটার পাস করতে নিম্নলিখিত কোডটি ব্যবহার করা যেতে পারে:
$router = $di->getRouter();
// Dynamic route with parameters
$router->add(
"/user/{id:[0-9]+}/{name:[a-zA-Z\-]+}",
[
"controller" => "user",
"action" => "profile",
]
);
$router->handle();
এখানে {id} এবং {name} দুটি প্যারামিটার হিসাবে ডিফাইন করা হয়েছে, যেগুলি URL থেকে ডাইনামিকভাবে গ্রহণ করা হবে। id এর মান শুধুমাত্র সংখ্যার হতে হবে, এবং name এর মান অক্ষর এবং হাইফেন থাকতে পারে।
কন্ট্রোলার ও অ্যাকশনে প্যারামিটার গ্রহণ করা
যখন আপনি প্যারামিটার পাস করবেন, তখন আপনাকে সেই প্যারামিটার কন্ট্রোলার ও অ্যাকশনে গ্রহণ করতে হবে। নিচে একটি উদাহরণ দেয়া হলো:
কন্ট্রোলার কোড
use Phalcon\Mvc\Controller;
class UserController extends Controller
{
public function profileAction($id, $name)
{
echo "User ID: " . $id . "<br>";
echo "User Name: " . $name;
}
}
এখানে profileAction অ্যাকশনটি দুটি প্যারামিটার $id এবং $name গ্রহণ করছে, যা URL থেকে পাস করা হবে। এই প্যারামিটারগুলি কন্ট্রোলারে ব্যবহৃত হবে এবং সংশ্লিষ্ট তথ্য দেখানো হবে।
URL এবং রাউট
যখন আপনি /user/123/johndoe এই URLটি ব্রাউজারে প্রবেশ করবেন, তখন:
idপ্যারামিটারটি123হবে।nameপ্যারামিটারটিjohndoeহবে।
এই প্যারামিটারগুলি UserController এর profileAction অ্যাকশনকে পাস করা হবে, এবং তা কন্ট্রোলারে id এবং name আর্গুমেন্ট হিসেবে পাওয়া যাবে।
রাউটিং সিস্টেমে বিভিন্ন প্যারামিটার ধরন
Phalcon এর রাউটিং সিস্টেম বিভিন্ন ধরনের প্যারামিটার সাপোর্ট করে:
- স্ট্যাটিক প্যারামিটার: এই ধরনের প্যারামিটার গুলি নির্দিষ্ট মানে স্ট্যাটিক থাকে। যেমন
/product/123যেখানে123প্যারামিটার। - ডাইনামিক প্যারামিটার: আপনি যেকোনো ধরণের ডাইনামিক প্যারামিটার ডিফাইন করতে পারেন। যেমন
{id:[0-9]+}, যেখানে শুধুমাত্র সংখ্যা পাস করা যাবে। - প্যারামিটার ভ্যালিডেশন: আপনি প্যারামিটারগুলির জন্য নিয়ম (যেমন: সংখ্যামূলক, অক্ষরমূলক) নির্ধারণ করতে পারেন। উদাহরণস্বরূপ,
{id:[0-9]+}একে শুধুমাত্র সংখ্যা হতে বাধ্য করে।
সারাংশ
Phalcon ফ্রেমওয়ার্কে রাউটিং সিস্টেমের মাধ্যমে URL থেকে প্যারামিটার পাস করা এবং কন্ট্রোলার অ্যাকশনে প্যারামিটার গ্রহণ করা খুবই সহজ। এটি ডাইনামিক ওয়েব পেজ তৈরি করার জন্য একটি শক্তিশালী উপায়, যেখানে URL-এর মাধ্যমে ভিন্ন ভিন্ন তথ্য কন্ট্রোলার অ্যাকশনে পাঠানো হয়। Phalcon এর রাউটিং সিস্টেম অত্যন্ত ফ্লেক্সিবল এবং এর মাধ্যমে আপনি বিভিন্ন ধরনের প্যারামিটার পাস করে আরও উন্নত অ্যাপ্লিকেশন তৈরি করতে পারবেন।
Read more