Views টেমপ্লেট তৈরি এবং Reusability

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

Views হলো CodeIgniter এর MVC (Model-View-Controller) আর্কিটেকচারের একটি গুরুত্বপূর্ণ উপাদান। এটি অ্যাপ্লিকেশনের আউটপুট বা ইউজার ইন্টারফেস (UI) তৈরি করে। Reusability বা পুনরায় ব্যবহারযোগ্যতা নিশ্চিত করার মাধ্যমে আপনি কোডকে পরিষ্কার, সংগঠিত এবং সহজে রক্ষণাবেক্ষণযোগ্য করতে পারেন।


Views এর ভূমিকা

  1. ডেটা প্রদর্শন করা: Controller থেকে প্রাপ্ত ডেটাকে HTML আকারে প্রদর্শন করা।
  2. ইউজার ইন্টারফেস তৈরির জন্য: HTML, CSS, এবং JavaScript ব্যবহার করে।
  3. পুনরায় ব্যবহারযোগ্য টেমপ্লেট তৈরি করা: Header, Footer, এবং Sidebar এর মতো কম্পোনেন্ট পুনরায় ব্যবহার করা।

CodeIgniter এ View তৈরি

১. View ফাইল তৈরি

View ফাইলগুলো app/Views/ ডিরেক্টরিতে সংরক্ষণ করতে হয়। উদাহরণস্বরূপ, একটি View তৈরি করতে:

app/Views/welcome_message.php

২. View ফাইলের মধ্যে HTML কোড লিখুন

<!DOCTYPE html>
<html>
<head>
    <title>Welcome to CodeIgniter</title>
</head>
<body>
    <h1>Welcome to CodeIgniter!</h1>
    <p>This is your first view.</p>
</body>
</html>

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

Controller এর মাধ্যমে View লোড করতে view() ফাংশন ব্যবহার করুন:

namespace App\Controllers;

class Welcome extends BaseController {
    public function index() {
        return view('welcome_message');
    }
}

উপরের Controller মেথডটি ব্রাউজারে http://localhost/your_project/public/welcome এ অ্যাক্সেস করলে welcome_message View প্রদর্শিত হবে।


ডেটা পাস করা এবং প্রদর্শন

১. Controller থেকে ডেটা পাস

Controller থেকে View এ ডেটা পাস করতে একটি অ্যাসোসিয়েটিভ অ্যারে ব্যবহার করা হয়:

namespace App\Controllers;

class Welcome extends BaseController {
    public function index() {
        $data = [
            'title' => 'Welcome Page',
            'message' => 'Hello, CodeIgniter!'
        ];
        return view('welcome_message', $data);
    }
}

২. View এ ডেটা প্রদর্শন

View এ পাসকৃত ডেটা ব্যবহার করতে:

<!DOCTYPE html>
<html>
<head>
    <title><?= esc($title); ?></title>
</head>
<body>
    <h1><?= esc($message); ?></h1>
</body>
</html>

Views এর Reusability (পুনরায় ব্যবহারযোগ্যতা)

১. Header এবং Footer টেমপ্লেট তৈরি

Views পুনরায় ব্যবহারযোগ্য করতে Header এবং Footer ফাইল আলাদা করুন:

Header ফাইল (header.php):

<!DOCTYPE html>
<html>
<head>
    <title><?= esc($title); ?></title>
</head>
<body>

Footer ফাইল (footer.php):

</body>
</html>

২. Main Content এ Header এবং Footer যোগ করুন

Main Content ফাইলে include() ফাংশন ব্যবহার করে Header এবং Footer যোগ করুন:

<?= view('header', ['title' => 'Home Page']); ?>
<h1>Welcome to CodeIgniter</h1>
<p>This is the main content.</p>
<?= view('footer'); ?>

৩. Controller থেকে View লোড

namespace App\Controllers;

class Welcome extends BaseController {
    public function index() {
        return view('main_content');
    }
}

Layouts তৈরি

Layout View তৈরি

Layouts ব্যবহার করে একটি মূল টেমপ্লেট তৈরি করা যায়:

Layout ফাইল (layout.php):

<!DOCTYPE html>
<html>
<head>
    <title><?= esc($title); ?></title>
</head>
<body>
    <header>
        <h1>My Website</h1>
    </header>
    <main>
        <?= $this->renderSection('content'); ?>
    </main>
    <footer>
        <p>© 2024 My Website</p>
    </footer>
</body>
</html>

Child View তৈরি

Child View মূল Layout এ নির্দিষ্ট সেকশন প্রতিস্থাপন করতে ব্যবহার করা হয়:

Child ফাইল (home.php):

<?= $this->extend('layout'); ?>

<?= $this->section('content'); ?>
<h2>Welcome to the Homepage</h2>
<p>This is the home page content.</p>
<?= $this->endSection(); ?>

Controller থেকে Layout লোড

namespace App\Controllers;

class Home extends BaseController {
    public function index() {
        return view('home');
    }
}

View এর সেরা প্র্যাকটিস

  1. কোড বিভাজন: Header, Footer এবং Sidebar এর মতো অংশ আলাদা ফাইল হিসেবে সংরক্ষণ করুন।
  2. Data Sanitization: ইনপুট এবং আউটপুট নিরাপত্তার জন্য esc() ফাংশন ব্যবহার করুন।
  3. Layouts ব্যবহার করুন: পুনরায় ব্যবহারযোগ্য ডিজাইন তৈরির জন্য Layouts ব্যবহার করুন।
  4. View ফোল্ডার স্ট্রাকচার বজায় রাখুন: Views কে প্রোজেক্ট অনুযায়ী সংগঠিত রাখুন।

CodeIgniter-এ Views এবং Reusability নিশ্চিত করার মাধ্যমে আপনি কোড ক্লিন এবং কার্যকর রাখতে পারবেন। এটি ডেভেলপমেন্ট সময় বাঁচানোর পাশাপাশি রক্ষণাবেক্ষণ সহজ করে।

Content added By
Promotion