Controller কী এবং এর ভূমিকা

CodeIgniter Controllers - কোডইগনাইটার (Codeigniter) - Web Development

234

Controller হলো CodeIgniter এর MVC (Model-View-Controller) আর্কিটেকচারের একটি গুরুত্বপূর্ণ অংশ। এটি অ্যাপ্লিকেশনের লজিক পরিচালনা করে এবং ModelView এর মধ্যে সংযোগ স্থাপন করে। Controller ব্যবহারকারীর অনুরোধ গ্রহণ করে, প্রয়োজন অনুযায়ী Model থেকে ডেটা সংগ্রহ করে এবং View-এর মাধ্যমে সেই ডেটা প্রদর্শন করে।


Controller কী?

Controller হলো একটি PHP ক্লাস, যা CodeIgniter ফ্রেমওয়ার্কের CI_Controller ক্লাস থেকে উত্তরাধিকারী। এটি অ্যাপ্লিকেশনের লজিক সংজ্ঞায়িত করে এবং ব্যবহারকারীর রিকোয়েস্ট অনুযায়ী সাড়া দেয়।

Controller এর প্রধান দায়িত্ব

  • রিকোয়েস্ট হ্যান্ডলিং: ব্যবহারকারীর ইনপুট গ্রহণ এবং প্রাসঙ্গিক রেসপন্স প্রদান।
  • ডেটা প্রক্রিয়াকরণ: প্রয়োজন হলে Model ব্যবহার করে ডেটা সংগ্রহ বা প্রসেস করা।
  • ভিউ লোড করা: প্রাসঙ্গিক View-এ ডেটা পাঠানো এবং আউটপুট তৈরি করা।

CodeIgniter এ Controller তৈরি

CodeIgniter এ Controller তৈরি করতে application/controllers ডিরেক্টরিতে একটি ক্লাস তৈরি করতে হয়। এই ক্লাসটি CI_Controller ক্লাস থেকে উত্তরাধিকারী হবে।

একটি সাধারণ Controller উদাহরণ:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {
    public function index() {
        echo "Welcome to CodeIgniter!";
    }
}

Controller এর ভূমিকা

১. ব্যবহারকারীর রিকোয়েস্ট পরিচালনা

Controller ব্যবহারকারীর HTTP রিকোয়েস্ট (GET/POST) গ্রহণ করে এবং সেই অনুযায়ী কাজ করে।

উদাহরণ:

public function handle_request() {
    $name = $this->input->get('name');
    echo "Hello, " . $name;
}

২. Model এর মাধ্যমে ডেটা প্রসেস করা

Controller Model ব্যবহার করে ডাটাবেস থেকে ডেটা রিট্রিভ করে এবং ভিউতে পাঠায়।

উদাহরণ:

public function show_users() {
    $this->load->model('User_model');
    $data['users'] = $this->User_model->get_users();
    $this->load->view('users_list', $data);
}

৩. View এ ডেটা পাস করা

Controller প্রাসঙ্গিক View লোড করে এবং ডেটা পাঠায়।

উদাহরণ:

public function about_page() {
    $data['title'] = "About Us";
    $data['content'] = "This is the about page of our website.";
    $this->load->view('about', $data);
}

ডিফল্ট Controller

CodeIgniter একটি ডিফল্ট Controller সমর্থন করে, যা অ্যাপ্লিকেশনের মূল রুটে অ্যাক্সেস করলে প্রদর্শিত হয়। ডিফল্ট Controller সেট করার জন্য application/config/routes.php ফাইলে নিম্নলিখিত লাইনটি ব্যবহার করা হয়:

$route['default_controller'] = 'Welcome';

Controller এর বৈশিষ্ট্য

  1. ডাইনামিক মেথড: Controller ক্লাসের প্রতিটি মেথড একটি আলাদা পেজ বা ফাংশন হিসেবে কাজ করে।
  2. ডাটাবেস ইন্টিগ্রেশন: Controller Model এর মাধ্যমে ডাটাবেস থেকে ডেটা এনে প্রয়োজনীয় আউটপুট তৈরি করে।
  3. ইনপুট হ্যান্ডলিং: Controller ব্যবহারকারীর ইনপুট (যেমন GET, POST, COOKIE) সঠিকভাবে প্রক্রিয়া করতে পারে।
  4. ভিউ কন্ট্রোল: প্রাসঙ্গিক View লোড এবং প্রক্রিয়াকরণ পরিচালনা করে।

Controller এর সুবিধা

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

Controller হলো CodeIgniter এর একটি অপরিহার্য অংশ, যা অ্যাপ্লিকেশন লজিক পরিচালনা এবং Model ও View এর মধ্যে সেতু হিসেবে কাজ করে। এটি ব্যবহারকারীর রিকোয়েস্ট গ্রহণ করে, প্রয়োজনীয় ডেটা প্রক্রিয়া করে এবং ভিউতে আউটপুট প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...