View তৈরি এবং Controller এর সাথে সংযোগ করা

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

321

View হলো CodeIgniter ফ্রেমওয়ার্কের এমন একটি উপাদান, যা অ্যাপ্লিকেশনের আউটপুট এবং ইউজার ইন্টারফেস প্রদর্শন করার জন্য ব্যবহৃত হয়। এটি সাধারণত HTML, CSS এবং JavaScript কোড সমন্বিত হয়। Controller থেকে View-এ ডেটা পাঠানো হয় এবং View সেই ডেটা ব্যবহার করে আউটপুট রেন্ডার করে।


View তৈরি করা

  1. View ফাইলের অবস্থান CodeIgniter-এ View ফাইলগুলো app/Views ডিরেক্টরিতে সংরক্ষিত হয়।
  2. View ফাইল তৈরি উদাহরণ: একটি নতুন View ফাইল তৈরি করুন app/Views/product_list.php নাম দিয়ে।
  3. HTML কোড যোগ করুন

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Product List</title>
    </head>
    <body>
        <h1>Product List</h1>
        <ul>
            <?php if (isset($products) && !empty($products)): ?>
                <?php foreach ($products as $product): ?>
                    <li><?= esc($product['name']); ?> - <?= esc($product['price']); ?></li>
                <?php endforeach; ?>
            <?php else: ?>
                <li>No products available.</li>
            <?php endif; ?>
        </ul>
    </body>
    </html>
    

Controller থেকে View লোড করা

Controller এর মাধ্যমে View লোড করা যায় view() মেথড ব্যবহার করে।

Controller তৈরি

  1. app/Controllers ডিরেক্টরিতে একটি Controller ফাইল তৈরি করুন। উদাহরণ: ProductController.php
  2. Controller এর কোড যুক্ত করুন

    <?php
    
    namespace App\Controllers;
    
    class ProductController extends BaseController
    {
        public function index()
        {
            // ডেটা তৈরি করা
            $data['products'] = [
                ['name' => 'Product 1', 'price' => 100],
                ['name' => 'Product 2', 'price' => 200],
                ['name' => 'Product 3', 'price' => 300],
            ];
    
            // View লোড করা
            return view('product_list', $data);
        }
    }
    

View এবং Controller এর সংযোগ পরীক্ষা

  1. Controller রুট সেট করুন CodeIgniter-এ রাউট সেট করার জন্য app/Config/Routes.php ফাইলটি খুলুন এবং নিচের কোড যুক্ত করুন:

    $routes->get('/products', 'ProductController::index');
    
  2. ব্রাউজারে পরীক্ষা করুন ব্রাউজারে http://localhost/your_project_name/products URL লিখুন।
    যদি সবকিছু সঠিকভাবে কনফিগার করা হয়, তবে পণ্যের তালিকা View এ প্রদর্শিত হবে।

Controller থেকে View-এ ডেটা পাঠানো

Controller থেকে View-এ ডেটা পাঠানোর জন্য একটি অ্যাসোসিয়েটিভ অ্যারে ব্যবহার করা হয়। উদাহরণ:

Controller

public function index()
{
    $data = [
        'title' => 'Product List',
        'products' => [
            ['name' => 'Product 1', 'price' => 100],
            ['name' => 'Product 2', 'price' => 200],
        ],
    ];

    return view('product_list', $data);
}

View

<h1><?= esc($title); ?></h1>
<ul>
    <?php foreach ($products as $product): ?>
        <li><?= esc($product['name']); ?> - <?= esc($product['price']); ?></li>
    <?php endforeach; ?>
</ul>

View ফাইল ভেঙে ভাগ করা (Reusable Views)

CodeIgniter-এ View ফাইলগুলো ভেঙে ভাগ করা যায়, যেমন header, footer

উদাহরণ: Header এবং Footer আলাদা করা

  1. app/Views/header.php ফাইল:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title><?= esc($title); ?></title>
    </head>
    <body>
    
  2. app/Views/footer.php ফাইল:

    </body>
    </html>
    
  3. app/Views/product_list.php ফাইল:

    <?= view('header', ['title' => 'Product List']); ?>
    <h1>Product List</h1>
    <ul>
        <?php foreach ($products as $product): ?>
            <li><?= esc($product['name']); ?> - <?= esc($product['price']); ?></li>
        <?php endforeach; ?>
    </ul>
    <?= view('footer'); ?>
    

সারাংশ

  • Controller View লোড করে এবং ডেটা পাস করে।
  • View অ্যাপ্লিকেশনের আউটপুট প্রদর্শন করে।
  • View ফাইল ভেঙে ভাগ করা গেলে কোড পুনরায় ব্যবহারযোগ্য হয়।
  • Controller এবং View এর মাধ্যমে ডেটা পরিচালনা করা CodeIgniter-কে মডুলার এবং রক্ষণাবেক্ষণযোগ্য করে তোলে।
Content added By
Promotion

Are you sure to start over?

Loading...