Model কী এবং এর ভূমিকা

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

Model হলো CodeIgniter এর MVC (Model-View-Controller) আর্কিটেকচারের একটি গুরুত্বপূর্ণ অংশ। এটি ডাটাবেস বা ডেটা-সংক্রান্ত সমস্ত কার্যকলাপ পরিচালনা করে। Model ব্যবহার করে ডাটাবেসের সাথে সংযোগ স্থাপন, ডেটা রিট্রিভাল, ডেটা মডিফিকেশন, এবং অন্যান্য ডেটাবেস অপারেশন করা যায়।


Model কী?

Model মূলত একটি ক্লাস যা ডাটাবেসের কার্যক্রম পরিচালনা করে। এটি ডাটাবেস থেকে ডেটা টেনে এনে Controller এ পাঠায় এবং View এর মাধ্যমে সেই ডেটা প্রদর্শন করে।

Model এর প্রধান কাজ

  1. ডাটাবেস অপারেশন পরিচালনা করা:
    • ডেটা রিট্রিভ (fetch) করা।
    • ডেটা ইনসার্ট (insert) করা।
    • ডেটা আপডেট (update) করা।
    • ডেটা ডিলিট (delete) করা।
  2. ডেটা প্রক্রিয়াজাতকরণ:
    • ডেটার উপর বিভিন্ন লজিক প্রয়োগ করা।
  3. ডেটার প্রাসঙ্গিকতা নিশ্চিত করা:
    • ডেটার ভ্যালিডেশন বা ফিল্টারিং।

CodeIgniter এ Model তৈরি

CodeIgniter এ Model তৈরি করার জন্য নিম্নলিখিত ধাপগুলো অনুসরণ করুন:

১. একটি Model তৈরি করুন

app/Models ডিরেক্টরিতে একটি নতুন Model তৈরি করুন। উদাহরণস্বরূপ, একটি ProductModel তৈরি করা যাক:

namespace App\Models;

use CodeIgniter\Model;

class ProductModel extends Model
{
    protected $table = 'products'; // টেবিলের নাম
    protected $primaryKey = 'id'; // প্রাইমারি কী

    // টেবিলের ফিল্ডসমূহ
    protected $allowedFields = ['name', 'description', 'price'];
}

২. Model কনফিগারেশন

  • protected $table: ডাটাবেসের টেবিলের নাম উল্লেখ করতে হয়।
  • protected $primaryKey: টেবিলের প্রাইমারি কী উল্লেখ করতে হয় (ডিফল্ট: id)।
  • protected $allowedFields: টেবিলের যেসব ফিল্ডে ডেটা ইনসার্ট বা আপডেট করা যাবে, সেগুলো উল্লেখ করতে হয়।

Controller এ Model ব্যবহার

১. Controller এ Model লোড করা

Controller-এ Model ব্যবহার করতে এটি লোড করতে হয়। উদাহরণস্বরূপ:

namespace App\Controllers;

use App\Models\ProductModel;

class ProductController extends BaseController
{
    public function index()
    {
        $model = new ProductModel();
        $data['products'] = $model->findAll(); // ডেটা রিট্রিভ
        return view('product_list', $data);
    }
}

২. Controller এর মাধ্যমে ডেটাবেস অপারেশন

  • ডেটা রিট্রিভ করা:

    $products = $model->findAll(); // সমস্ত ডেটা
    $product = $model->find(1); // নির্দিষ্ট ডেটা
    
  • ডেটা ইনসার্ট করা:

    $model->save([
        'name' => 'Laptop',
        'description' => 'A high-performance laptop',
        'price' => 1000
    ]);
    
  • ডেটা আপডেট করা:

    $model->update(1, [
        'price' => 1200
    ]);
    
  • ডেটা ডিলিট করা:

    $model->delete(1);
    

View এ ডেটা পাঠানো

Controller থেকে View-এ ডেটা পাঠানোর জন্য $data অ্যারে ব্যবহার করা হয়। উদাহরণস্বরূপ:

public function index()
{
    $model = new ProductModel();
    $data['products'] = $model->findAll();
    return view('product_list', $data);
}

View ফাইলে ডেটা অ্যাক্সেস করার উদাহরণ:

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

Model এর ভূমিকা CodeIgniter এ

  1. ডেটা ম্যানেজমেন্ট: ডাটাবেস সম্পর্কিত সমস্ত কাজ (রিট্রিভ, ইনসার্ট, আপডেট, ডিলিট) Model এর মাধ্যমে সম্পন্ন হয়।
  2. কোডের পুনঃব্যবহারযোগ্যতা: একবার Model তৈরি করলে তা অ্যাপ্লিকেশনের বিভিন্ন স্থানে ব্যবহার করা যায়।
  3. MVC আর্কিটেকচারের আলাদা কার্যক্রম: Model ডেটা ম্যানেজ করে, Controller ডেটা প্রসেস করে, এবং View ডেটা প্রদর্শন করে।
  4. ডেটার ভ্যালিডেশন: ডেটার সঠিকতা এবং নিরাপত্তা নিশ্চিত করে।

Model CodeIgniter এর একটি গুরুত্বপূর্ণ উপাদান, যা ডাটাবেস অপারেশন সহজ এবং কার্যকরী করে তোলে। এটি ডেটা এবং লজিক পরিচালনার মাধ্যমে অ্যাপ্লিকেশনের কার্যক্ষমতাকে উন্নত করে।

Content added By
Promotion