CodeIgniter-এ Controller অ্যাপ্লিকেশনের লজিক পরিচালনা করে। এটি ইউজারের রিকোয়েস্ট গ্রহণ করে, প্রয়োজনীয় Model ও View এর সাথে ইন্টারঅ্যাক্ট করে এবং আউটপুট প্রদর্শন করে। Methods এবং Functions ব্যবহার করে Controller এই কাজগুলো সম্পাদন করে।
CodeIgniter-এ Controller একটি ক্লাস হিসেবে সংজ্ঞায়িত হয়। এটি CI_Controller
ক্লাসকে এক্সটেন্ড করে।
উদাহরণ:
<?php
namespace App\Controllers;
class Home extends BaseController {
public function index() {
echo "Welcome to CodeIgniter!";
}
}
index()
Method চালিত হয়।উদাহরণ:
public function index() {
echo "This is the default method.";
}
Controller-এ আপনি কাস্টম Methods যোগ করতে পারেন এবং সেগুলো রাউটিংয়ের মাধ্যমে কল করতে পারেন।
উদাহরণ:
public function about() {
echo "This is the About page.";
}
Methods-এ Parameter পাস করা যায়। Parameter ইউজারের রিকোয়েস্ট থেকে সংগ্রহ করা ডেটা হিসেবে কাজ করে।
উদাহরণ:
public function greet($name = "Guest") {
echo "Hello, " . $name . "!";
}
http://localhost/home/greet/John
Hello, John!
একাধিক Parameter পাস করার সুবিধা রয়েছে।
উদাহরণ:
public function details($id, $category) {
echo "ID: " . $id . " | Category: " . $category;
}
http://localhost/home/details/5/electronics
ID: 5 | Category: electronics
Controller থেকে View লোড করার জন্য view()
Method ব্যবহার করা হয়।
উদাহরণ:
public function index() {
return view('welcome_message');
}
Controller থেকে View-তে ডেটা পাঠানো যায়।
উদাহরণ:
public function about() {
$data = ['title' => 'About Us', 'content' => 'This is the About Us page.'];
return view('about', $data);
}
Model ব্যবহার করে ডেটা সংগ্রহ এবং প্রসেসিং করা যায়।
উদাহরণ:
public function products() {
$productModel = new \App\Models\ProductModel();
$data['products'] = $productModel->findAll();
return view('product_list', $data);
}
Controller এর Private Methods শুধুমাত্র একই Controller এর মধ্যেই ব্যবহারযোগ্য। এগুলো বাইরের রিকোয়েস্ট দ্বারা অ্যাক্সেসযোগ্য নয়।
উদাহরণ:
private function helperFunction() {
return "This is a private method.";
}
Protected Methods ও বাইরের রিকোয়েস্ট থেকে অ্যাক্সেসযোগ্য নয়, তবে Controller-এর সাব-ক্লাস থেকে অ্যাক্সেস করা যায়।
উদাহরণ:
protected function calculate() {
return 5 + 5;
}
<?php
namespace App\Controllers;
class Blog extends BaseController {
public function index() {
echo "Welcome to the Blog!";
}
public function post($id) {
echo "This is post number " . $id;
}
public function author($name = "Unknown") {
echo "Author: " . $name;
}
}
উদাহরণ URL:
http://localhost/blog/
→ "Welcome to the Blog!"http://localhost/blog/post/3
→ "This is post number 3"http://localhost/blog/author/John
→ "Author: John"CodeIgniter-এর Controller এর Methods এবং Functions অ্যাপ্লিকেশনের লজিক পরিচালনার কেন্দ্রবিন্দু। এগুলো বিভিন্ন রিকোয়েস্ট প্রসেস করে এবং Model ও View এর সাথে কাজ করে ব্যবহারকারীর জন্য আউটপুট তৈরি করে। প্রয়োজন অনুযায়ী কাস্টম Methods তৈরি করে অ্যাপ্লিকেশনকে আরও কার্যকর করা যায়।
Read more