CodeIgniter-এ Views হলো এমন একটি অংশ, যা অ্যাপ্লিকেশনের আউটপুট ইউজারের কাছে উপস্থাপন করে। ডাইনামিক ডেটা পাস করে View-তে কন্টেন্ট তৈরি করা খুবই সাধারণ একটি কাজ। Controller থেকে ডেটা পাঠিয়ে View-তে প্রদর্শন করা হয়।
View তৈরি করা
- View ফাইলগুলো
app/Viewsডিরেক্টরিতে রাখা হয়। - 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-তে প্রদর্শন করা
- Controller থেকে
return view('view_name', $data)এর মাধ্যমে ডেটা পাস করা হয়। - 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-এ ডাইনামিক ডেটা পাস করা সহজ এবং এটি অ্যাপ্লিকেশন ডেভেলপমেন্টকে দ্রুত এবং কার্যকর করে তোলে।
Read more