FuelPHP এর টেমপ্লেট সিস্টেম

FuelPHP এর টেমপ্লেট ইঞ্জিন - ফুয়েলপিএইচপি (FuelPHP) - Web Development

261

FuelPHP একটি শক্তিশালী এবং নমনীয় PHP ফ্রেমওয়ার্ক, যা MVC (Model-View-Controller) আর্কিটেকচারের ভিত্তিতে কাজ করে। এর মধ্যে টেমপ্লেট সিস্টেম একটি গুরুত্বপূর্ণ অংশ, যা ওয়েব অ্যাপ্লিকেশনের views বা ইউজার ইন্টারফেস তৈরি করতে ব্যবহৃত হয়। FuelPHP এ View এবং Template ব্যবস্থাপনা খুবই সহজ এবং কার্যকরী। এটি ডেভেলপারদের টেমপ্লেটের মধ্যে inheritance, layout management, partials, এবং dynamic content পরিচালনা করতে সহায়ক করে।

এখানে FuelPHP এর টেমপ্লেট সিস্টেম এবং এর ব্যবহারের নিয়ম বিস্তারিতভাবে আলোচনা করা হয়েছে।

FuelPHP এর টেমপ্লেট সিস্টেম

FuelPHP তে টেমপ্লেট সিস্টেম দুটি প্রধান উপাদান নিয়ে কাজ করে:

  1. Views
  2. LayoutsTemplate Inheritance

FuelPHP তে views এবং layouts গুলি বিভিন্নভাবে কাস্টমাইজ এবং টেমপ্লেটের মাধ্যমে ব্যবহৃত হতে পারে, যা আপনাকে একটি রেসপন্সিভ এবং মডুলার ওয়েব অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে।


1. Views in FuelPHP

Views হল FuelPHP অ্যাপ্লিকেশনের জন্য HTML ফাইল বা টেমপ্লেট যা ডেটা ডিসপ্লে করে। Views সাধারণত অ্যাপ্লিকেশনের উপস্থাপনার অংশ হিসেবে কাজ করে, এবং ডেটা প্রদর্শন করার জন্য কন্ট্রোলার থেকে ডেটা গ্রহণ করে।

Views তৈরি করা:

Views তৈরি করতে fuel/app/views ডিরেক্টরির মধ্যে ফাইল তৈরি করতে হয়। এই ফাইলগুলি .php এক্সটেনশন দিয়ে তৈরি হয় এবং এতে HTML, CSS, JavaScript, এবং PHP কোড থাকতে পারে।

Example: Welcome view

<!-- fuel/app/views/welcome/index.php -->
<h1>Welcome to FuelPHP!</h1>
<p>This is a simple view example.</p>

View থেকে ডেটা পাস করা:

আপনি কন্ট্রোলার থেকে View::forge() ব্যবহার করে ডেটা পাস করতে পারেন। FuelPHP তে, ডেটা পাস করার জন্য অ্যারে ব্যবহার করা হয়।

public function action_index()
{
    // Passing data to the view
    $data = array(
        'message' => 'Hello, welcome to FuelPHP!',
    );
    return View::forge('welcome/index', $data);
}

এখন, welcome/index.php ভিউ ফাইলে $message ভেরিয়েবলটি ব্যবহার করা যাবে:

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

2. Layout Management in FuelPHP

FuelPHP তে, layouts ব্যবহৃত হয় বিভিন্ন ভিউয়ের জন্য একটি সাধারণ লেআউট বা কাঠামো তৈরি করতে, যা একাধিক ভিউতে ব্যবহার করা যেতে পারে। সাধারণত, এই লেআউটে header, footer, এবং sidebar থাকে যা সাইটের প্রতিটি পৃষ্ঠায় পুনরায় ব্যবহৃত হয়।

Layout তৈরি করা:

FuelPHP তে লেআউট ব্যবস্থাপনা খুব সহজ। একটি লেআউট তৈরি করতে fuel/app/views/layouts ডিরেক্টরিতে একটি ফাইল তৈরি করুন। এই লেআউট ফাইলটি সাধারণত হেডার, ফুটার, সাইডবার, এবং অন্যান্য সাধারণ উপাদান ধারণ করে।

Example: Basic Layout

<!-- fuel/app/views/layouts/main.php -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>FuelPHP Application</title>
</head>
<body>
    <header>
        <h1>My Application</h1>
    </header>

    <div class="content">
        <?php echo $content; ?> <!-- This is where the view content will be injected -->
    </div>

    <footer>
        <p>© 2024 My Website</p>
    </footer>
</body>
</html>

এখানে, content প্লেসহোল্ডারটি ব্যবহার করা হয়েছে যেখানে আপনি কন্ট্রোলার থেকে আসা ডেটা/ভিউ ইনজেক্ট করতে পারবেন।

Layout এ View ইনজেক্ট করা:

আপনি কন্ট্রোলার থেকে Layout::forge() ব্যবহার করে একটি লেআউট তৈরি করতে পারেন এবং ভিউ যুক্ত করতে পারেন।

public function action_index()
{
    // Passing content to the layout
    $content = View::forge('welcome/index');
    
    // Rendering the layout with content
    return View::forge('layouts/main', array('content' => $content));
}

এখানে, layouts/main লেআউটটি welcome/index ভিউ এর কন্টেন্ট নিয়ে ইঞ্জেক্ট করে।


3. Template Inheritance in FuelPHP

FuelPHP তে Template Inheritance বা টেমপ্লেট উত্তরাধিকার ব্যবহারের মাধ্যমে আপনি একটি মুল লেআউট ফাইল তৈরি করতে পারেন এবং সেটির ভিতরে বিভিন্ন ভিউগুলোকে ইঞ্জেক্ট করে শেয়ার করতে পারেন। এতে কোড পুনঃব্যবহারযোগ্যতা এবং ম্যানটেনেন্স সহজ হয়।

Template Inheritance Example:

আপনি একটি বেস লেআউট তৈরি করতে পারেন এবং তারপর সেই লেআউটে ভিউ ইনজেক্ট করতে পারেন।

  1. Main Layout (Base Template):
<!-- fuel/app/views/layouts/main.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>
    <header>
        <h1>My Application</h1>
    </header>

    <div class="content">
        <?php echo $content; ?>
    </div>

    <footer>
        <p>© 2024 My Website</p>
    </footer>
</body>
</html>
  1. Child Template (Inheriting the Layout):
<!-- fuel/app/views/welcome/index.php -->
<?php echo $this->extend('layouts/main'); ?>

<?php $this->section('content'); ?>
    <h2>Welcome to FuelPHP!</h2>
    <p>This is a simple welcome message.</p>
<?php $this->endSection(); ?>

এখানে, index.php ফাইলটি layouts/main.php থেকে extend করেছে এবং সেখানে content সেকশন ইনজেক্ট করা হয়েছে।

Rendering the Template:

public function action_index()
{
    $data = array(
        'title' => 'Welcome Page',
    );
    return View::forge('welcome/index', $data);
}

এই উদাহরণে, welcome/index টেমপ্লেটটি layouts/main লেআউট ব্যবহার করে, এবং ভিতরে content সেকশনটি ইনজেক্ট করা হয়।


4. Partials in FuelPHP

Partials হল ছোট ছোট ভিউ প্যাটার্ন যা একাধিক ভিউ বা পেজে পুনরায় ব্যবহার করা যায়। এগুলি সাধারণত হেডার, ফুটার, সাইডবার ইত্যাদি উপাদান হতে পারে।

Partial View Example:

  1. Partial View (e.g., Sidebar)
<!-- fuel/app/views/partials/sidebar.php -->
<aside>
    <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Contact</a></li>
    </ul>
</aside>
  1. Using Partial in Main View:
<!-- fuel/app/views/welcome/index.php -->
<?php echo $this->extend('layouts/main'); ?>

<?php $this->section('content'); ?>
    <h2>Welcome to FuelPHP!</h2>
    <p>This is a simple welcome message.</p>
    
    <!-- Including the partial sidebar view -->
    <?php echo $this->render('partials/sidebar'); ?>
<?php $this->endSection(); ?>

এখানে, sidebar পার্শিয়াল ভিউটি welcome/index.php ভিউ ফাইলে ইনক্লুড করা হয়েছে।


সারাংশ:

FuelPHP এর টেমপ্লেট সিস্টেম একটি শক্তিশালী এবং নমনীয় উপায় দেয় বিভিন্ন ভিউ এবং লেআউট পরিচালনা করতে। এটি View, Layout, Template Inheritance, এবং Partial Views ব্যবহার করে আপনার ওয়েব অ্যাপ্লিকেশনকে আরো মডুলার এবং রিচ ইউজার ইন্টারফেস তৈরি করতে সহায়তা করে। FuelPHP এর এই টেমপ্লেট সিস্টেম আপনাকে কোডের পুনঃব্যবহারযোগ্যতা এবং রক্ষণাবেক্ষণ সহজ করে তোলে, এবং এটি আপনাকে ওয়েব অ্যাপ্লিকেশন ডিজাইনের জন্য একটি পরিষ্কার এবং কার্যকর কাঠামো প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...