FuelPHP একটি শক্তিশালী এবং নমনীয় PHP ফ্রেমওয়ার্ক যা MVC (Model-View-Controller) আর্কিটেকচার অনুসরণ করে। FuelPHP তে Controller তৈরি করা এবং Routes কনফিগার করা দুটি গুরুত্বপূর্ণ ধাপ যা অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য মৌলিক কাঠামো প্রদান করে। এখানে আপনি কীভাবে একটি Controller তৈরি করবেন এবং Routes কনফিগার করবেন, তার বিস্তারিত ব্যাখ্যা দেওয়া হলো।
FuelPHP তে Controller তৈরি করা
Controller হল FuelPHP তে এমন একটি অংশ যা ব্যবহারকারী থেকে ইনপুট গ্রহণ করে এবং উপযুক্ত আউটপুট প্রদর্শন করে। Controller ফাইলগুলো সাধারণত fuel/app/classes/controller ডিরেক্টরিতে রাখা হয় এবং এগুলো ক্লাস হিসেবে তৈরি করা হয়।
Controller তৈরি করার ধাপ:
- Controller ক্লাস তৈরি করুন:
- প্রথমে, FuelPHP অ্যাপ্লিকেশনটির
fuel/app/classes/controllerডিরেক্টরিতে একটি নতুন ফাইল তৈরি করুন। ফাইলের নামটি কন্ট্রোলারের সাথে সম্পর্কিত হওয়া উচিত (যেমনwelcome.php,user.php, ইত্যাদি)।
- প্রথমে, FuelPHP অ্যাপ্লিকেশনটির
- Controller ক্লাস ডিফাইন করা:
- FuelPHP তে একটি কন্ট্রোলার ক্লাস তৈরি করতে
Controllerবেস ক্লাসটি ইনহেরিট করতে হয়। প্রতিটি ফাংশন বা অ্যাকশন যা URL থেকে কল করা হবে, তার জন্য একটি পাবলিক মেথড তৈরি করতে হবে।
- FuelPHP তে একটি কন্ট্রোলার ক্লাস তৈরি করতে
উদাহরণ: Controller তৈরি করা
ধরা যাক, আপনি একটি WelcomeController তৈরি করতে চান।
fuel/app/classes/controller/welcome.php:
<?php
class Controller_Welcome extends Controller
{
public function action_index()
{
// "Welcome" পেজের জন্য একটি সিম্পল মেসেজ রিটার্ন করা
return Response::forge(View::forge('welcome/index'));
}
public function action_hello($name = 'Guest')
{
// URL থেকে প্যারামিটার নিয়ে কাস্টম গ্রীটিং প্রদর্শন
return Response::forge('Hello, ' . ucfirst($name));
}
}
এখানে, action_index এবং action_hello হল দুটি অ্যাকশন যা URL থেকে কল করা যাবে। action_hello প্যারামিটার $name গ্রহণ করে এবং যদি প্যারামিটার না দেওয়া হয় তবে তা Guest হিসেবে ডিফল্ট থাকবে।
Routes কনফিগার করা
Routes হল FuelPHP তে URL পাথ এবং কন্ট্রোলার অ্যাকশনগুলির মধ্যে সম্পর্ক স্থাপন করে। FuelPHP তে routes কনফিগার করতে হয় fuel/app/config/routes.php ফাইলে। এই ফাইলে আপনি URL পাথের সাথে সম্পর্কিত কন্ট্রোলার এবং অ্যাকশন সেট করতে পারবেন।
Routes কনফিগার করার ধাপ:
- Routes.php ফাইলে রুট কনফিগারেশন:
- FuelPHP তে routes কনফিগারেশন fuel/app/config/routes.php ফাইলে করা হয়। সেখানে URL পাথ এবং কন্ট্রোলার অ্যাকশন মানচিত্র তৈরি করা হয়।
Routes কনফিগার করার উদাহরণ:
fuel/app/config/routes.php:
<?php
return array(
// Default route - maps to Controller_Welcome and action_index
'_root_' => 'welcome/index', // Default controller and action
// Custom route - maps to Controller_Welcome and action_hello with dynamic $name
'hello(/:name)?' => 'welcome/hello', // This allows 'hello/John' to call action_hello('John')
// Example of a route with parameters
'user/(:num)' => 'user/view/$1', // Maps 'user/1' to 'user/view' with parameter 1
);
- Default Route (root):
- এই রুটটি ডিফল্ট কন্ট্রোলার এবং অ্যাকশন সেট করে, যা FuelPHP অ্যাপ্লিকেশন লোড হওয়ার পর প্রথমে এক্সিকিউট হয়। উদাহরণস্বরূপ,
welcome/indexকন্ট্রোলার এবং অ্যাকশনটি প্রথমে লোড হবে।
- এই রুটটি ডিফল্ট কন্ট্রোলার এবং অ্যাকশন সেট করে, যা FuelPHP অ্যাপ্লিকেশন লোড হওয়ার পর প্রথমে এক্সিকিউট হয়। উদাহরণস্বরূপ,
- Custom Route (hello/:name):
hello(/:name)?রুটটিwelcome/helloঅ্যাকশনকেnameপ্যারামিটার সহ ম্যাপ করে। যদি প্যারামিটার না দেওয়া হয়, তবে এটিaction_helloকেGuestহিসেবে কল করবে।
- Route with Parameters (user/:num):
- এখানে
user/(:num)রুটটিuser/viewকন্ট্রোলারেরviewঅ্যাকশনের সাথে সম্পর্কিত।$1প্যারামিটারটি URL থেকে নেয়া হয় এবং কন্ট্রোলারের মেথডে পাস করা হয় (যেমনuser/1হবেuser/view/1).
- এখানে
Routes কনফিগার করার আরও কিছু উদাহরণ:
Example 1: Route with optional parameters:
'profile(/:username)' => 'user/profile', // If the parameter is passed, 'user/profile/username' will be mapped
Example 2: Route with static URL:
'contact' => 'page/contact', // Maps the URL 'contact' to 'page/contact' controller and action
Example 3: Route with multiple parameters:
'order/(:num)/(:any)' => 'order/details/$1/$2', // Maps 'order/123/abc' to 'order/details/123/abc'
Routing সম্পর্কে কিছু গুরুত্বপূর্ণ বিষয়:
- Route Parameters:
(:num)এবং(:any)হল route placeholders যা numeric এবং any type প্যারামিটার গ্রহণ করে। - Dynamic Parameters: FuelPHP আপনাকে dynamic parameters গ্রহণ করতে দেয়, যেমন প্যারামিটার হিসেবে ইউজারের নাম বা আইডি প্রদান করা হতে পারে।
- Wildcards: Wildcards ব্যবহারের মাধ্যমে আপনি পাথের অংশ পরিবর্তন করতে পারেন এবং বিভিন্ন কনফিগারেশন মানচিত্র তৈরি করতে পারেন।
FuelPHP তে Controller তৈরি করা এবং Routes কনফিগার করা ওয়েব অ্যাপ্লিকেশনের মৌলিক কাঠামো তৈরির জন্য খুবই গুরুত্বপূর্ণ। এটি সহজে URL পাথ এবং কন্ট্রোলার অ্যাকশনগুলির মধ্যে সম্পর্ক স্থাপন করতে এবং ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে মডুলার এবং পরিষ্কার কাঠামো প্রদান করতে সহায়তা করে। FuelPHP তে Routes কনফিগারেশনের মাধ্যমে আপনি আপনার অ্যাপ্লিকেশনের URL স্ট্রাকচার এবং ডেভেলপমেন্টের জন্য শক্তিশালী এবং পরিষ্কার পরিচালনা করতে পারেন।
Read more