Views এ ডাইনামিক ডেটা পাস করা

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

CodeIgniter-এ Views হলো এমন একটি অংশ, যা অ্যাপ্লিকেশনের আউটপুট ইউজারের কাছে উপস্থাপন করে। ডাইনামিক ডেটা পাস করে View-তে কন্টেন্ট তৈরি করা খুবই সাধারণ একটি কাজ। Controller থেকে ডেটা পাঠিয়ে View-তে প্রদর্শন করা হয়।


View তৈরি করা

  1. View ফাইলগুলো app/Views ডিরেক্টরিতে রাখা হয়।
  2. View ফাইল সাধারণত .php এক্সটেনশন ব্যবহার করে।

উদাহরণস্বরূপ, app/Views/products_list.php ফাইল তৈরি করুন:

<!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 foreach ($products as $product): ?>
            <li><?php echo $product['name']; ?> - <?php echo $product['price']; ?> BDT</li>
        <?php endforeach; ?>
    </ul>
</body>
</html>

Controller থেকে ডাইনামিক ডেটা পাঠানো

Controller এর কাজ হলো Model থেকে ডেটা নিয়ে View-তে পাঠানো।

উদাহরণ: Controller তৈরি করা

app/Controllers/Product.php ফাইল তৈরি করুন:

<?php

namespace App\Controllers;

use App\Models\ProductModel;

class Product extends BaseController
{
    public function index()
    {
        // Model লোড করা
        $productModel = new ProductModel();

        // ডেটা ফেচ করা
        $data['products'] = $productModel->findAll();

        // View-তে ডেটা পাস করা
        return view('products_list', $data);
    }
}

Route কনফিগারেশন

app/Config/Routes.php ফাইল খুলুন এবং Controller এর জন্য Route তৈরি করুন:

$routes->get('products', 'Product::index');

ডাইনামিক ডেটা View-তে প্রদর্শন করা

  1. Controller থেকে return view('view_name', $data) এর মাধ্যমে ডেটা পাস করা হয়।
  2. View ফাইলের মধ্যে $data অ্যারেকে ভেরিয়েবল হিসেবে ব্যবহার করা হয়।

ডেটা পাসের উদাহরণ

একক ডেটা পাস করা

$data['title'] = 'My Product Page';
return view('products_list', $data);

View ফাইল (products_list.php):

<h1><?php echo $title; ?></h1>

একাধিক ডেটা পাস করা

$data = [
    'title' => 'Product List',
    'products' => [
        ['name' => 'Product 1', 'price' => 100],
        ['name' => 'Product 2', 'price' => 200],
    ]
];
return view('products_list', $data);

View ফাইল (products_list.php):

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

Partial Views ব্যবহার করা

CodeIgniter-এ আপনি partials ব্যবহার করে View ফাইলগুলোকে বিভক্ত করতে পারেন। এটি কোড পুনরায় ব্যবহারযোগ্য এবং পরিষ্কার রাখতে সাহায্য করে।

Header View তৈরি

app/Views/partials/header.php:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title><?php echo $title; ?></title>
</head>
<body>

Footer View তৈরি

app/Views/partials/footer.php:

</body>
</html>

মূল View ফাইল

app/Views/products_list.php:

<?php echo view('partials/header'); ?>
<h1><?php echo $title; ?></h1>
<ul>
    <?php foreach ($products as $product): ?>
        <li><?php echo $product['name']; ?> - <?php echo $product['price']; ?> BDT</li>
    <?php endforeach; ?>
</ul>
<?php echo view('partials/footer'); ?>

Blade বা Template Engine প্রয়োজনীয়তা

যদিও CodeIgniter-এ ডিফল্ট টেমপ্লেট ইঞ্জিন নেই, তবে আপনি Blade বা অন্য টেমপ্লেট ইঞ্জিন সহজেই ইন্টিগ্রেট করতে পারেন। তবে CodeIgniter এর নিজস্ব পদ্ধতিতে PHP কোড দিয়ে টেমপ্লেট তৈরি করাই যথেষ্ট কার্যকরী।


সারাংশ

  • Controller থেকে ডেটা পাস করতে return view() মেথড ব্যবহার করা হয়।
  • View ফাইলগুলিতে ডাইনামিক ডেটা ব্যবহার করতে $variable_name ব্যবহার করা হয়।
  • Partial Views ব্যবহার করে পুনরায় ব্যবহারযোগ্য টেমপ্লেট তৈরি করা যায়।

CodeIgniter-এ ডাইনামিক ডেটা পাস করা সহজ এবং এটি অ্যাপ্লিকেশন ডেভেলপমেন্টকে দ্রুত এবং কার্যকর করে তোলে।

Content added By
Promotion