View হলো CodeIgniter ফ্রেমওয়ার্কের এমন একটি উপাদান, যা অ্যাপ্লিকেশনের আউটপুট এবং ইউজার ইন্টারফেস প্রদর্শন করার জন্য ব্যবহৃত হয়। এটি সাধারণত HTML, CSS এবং JavaScript কোড সমন্বিত হয়। Controller থেকে View-এ ডেটা পাঠানো হয় এবং View সেই ডেটা ব্যবহার করে আউটপুট রেন্ডার করে।
View তৈরি করা
- View ফাইলের অবস্থান CodeIgniter-এ View ফাইলগুলো
app/Viewsডিরেক্টরিতে সংরক্ষিত হয়। - View ফাইল তৈরি উদাহরণ: একটি নতুন View ফাইল তৈরি করুন
app/Views/product_list.phpনাম দিয়ে। 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 তৈরি
app/Controllersডিরেক্টরিতে একটি Controller ফাইল তৈরি করুন। উদাহরণ:ProductController.php।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 এর সংযোগ পরীক্ষা
Controller রুট সেট করুন CodeIgniter-এ রাউট সেট করার জন্য
app/Config/Routes.phpফাইলটি খুলুন এবং নিচের কোড যুক্ত করুন:$routes->get('/products', 'ProductController::index');- ব্রাউজারে পরীক্ষা করুন ব্রাউজারে
http://localhost/your_project_name/productsURL লিখুন।
যদি সবকিছু সঠিকভাবে কনফিগার করা হয়, তবে পণ্যের তালিকা 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 আলাদা করা
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>app/Views/footer.phpফাইল:</body> </html>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-কে মডুলার এবং রক্ষণাবেক্ষণযোগ্য করে তোলে।