Model, CRUD, এবং Module জেনারেট করা

জিকি (Gii) কোড জেনারেটর - জী ফ্রেমওয়ার্ক (Yii Framework) - Web Development

323

Yii ফ্রেমওয়ার্কের একটি প্রধান সুবিধা হল Gii নামক একটি কোড জেনারেটর টুল যা আপনাকে খুব সহজে Model, CRUD (Create, Read, Update, Delete), এবং Module জেনারেট করতে সাহায্য করে। এই টুলটি ব্যবহার করে কোড জেনারেট করা খুব দ্রুত এবং উন্নত প্রোগ্রামিং দক্ষতা ছাড়াই কার্যকরী অ্যাপ্লিকেশন তৈরি করা যায়।

এই অধ্যায়ে আমরা Model, CRUD এবং Module কীভাবে জেনারেট করতে হয় এবং কীভাবে এগুলি ব্যবহার করা যায় তা দেখব।


১. Model জেনারেট করা

Model হলো Yii ফ্রেমওয়ার্কের ডেটা সেন্ট্রিক অংশ, যা ডেটাবেসের টেবিলের সাথে সংযুক্ত থাকে এবং ডেটাবেসের CRUD অপারেশন পরিচালনা করে। Gii টুল ব্যবহার করে আপনি খুব সহজে একটি মডেল ক্লাস জেনারেট করতে পারেন।

Model জেনারেট করার পদ্ধতি:

  1. Gii টুলে প্রবেশ করুন: আপনার ব্রাউজারে গিয়ে http://localhost:8080/index.php?r=gii এ যান (এটি আপনার লোকাল সার্ভারের URL হবে)।
  2. Model Generator ব্যবহার করুন:
    • Gii পেজে গিয়ে Model Generator নির্বাচন করুন।
    • Table Name ফিল্ডে, আপনার ডেটাবেস টেবিলের নাম দিন (যেমন post বা user)।
    • Model Class ফিল্ডে, আপনি যে মডেল ক্লাস তৈরি করতে চান তার নাম লিখুন (যেমন Post বা User)।
    • অন্যান্য অপশনগুলো যেমন Base Class, Generate Relations ইত্যাদি আপনার প্রয়োজন অনুযায়ী কনফিগার করুন।
  3. Generate ক্লিক করুন:
    • তারপর Preview ক্লিক করুন এবং তারপর Generate ক্লিক করুন। এটি আপনার মডেল ক্লাস তৈরি করবে।

এখন আপনি models ডিরেক্টরির মধ্যে তৈরি হওয়া মডেল ক্লাস ব্যবহার করতে পারবেন।

উদাহরণ:

class Post extends \yii\db\ActiveRecord
{
    public static function tableName()
    {
        return 'post';  // টেবিলের নাম
    }

    public function rules()
    {
        return [
            [['title', 'content'], 'required'],
            [['content'], 'string'],
            [['title'], 'string', 'max' => 255],
        ];
    }
}

২. CRUD (Create, Read, Update, Delete) জেনারেট করা

CRUD অপারেশনগুলো আপনার অ্যাপ্লিকেশনের অন্যতম গুরুত্বপূর্ণ অংশ, যেগুলি সাধারণত মডেল, কন্ট্রোলার এবং ভিউ ব্যবহার করে তৈরি করা হয়। Yii ফ্রেমওয়ার্কে Gii টুল ব্যবহার করে দ্রুত CRUD অপারেশন জেনারেট করা সম্ভব।

CRUD জেনারেট করার পদ্ধতি:

  1. Gii টুলে প্রবেশ করুন: http://localhost:8080/index.php?r=gii এ যান এবং CRUD Generator নির্বাচন করুন।
  2. CRUD Generator পেইজে ফর্ম পূরণ করুন:
    • Model Class: আপনার তৈরি করা মডেল ক্লাসের নাম দিন (যেমন Post বা User)।
    • Search Model Class: সার্চ মডেল ক্লাসের জন্য একটি নাম দিন (যেমন PostSearch), যা সার্চ ফিল্টার ও অনুসন্ধান ফিচার পরিচালনা করবে।
    • Controller Class: কন্ট্রোলারের নাম দিন (যেমন PostController)।
    • Base Class: এটা সাধারণত yii\web\Controller থাকে।
  3. Generate ক্লিক করুন:
    • এরপর Preview ক্লিক করে সঠিক জেনারেট হওয়া কোড দেখুন এবং তারপর Generate ক্লিক করুন।

এখন, আপনার controllers ডিরেক্টরিতে একটি কন্ট্রোলার, models ডিরেক্টরিতে সার্চ মডেল এবং views ডিরেক্টরিতে প্রয়োজনীয় ভিউ ফাইলগুলো তৈরি হয়ে যাবে।

উদাহরণ: PostController

class PostController extends \yii\web\Controller
{
    public function actionIndex()
    {
        $searchModel = new PostSearch();
        $dataProvider = $searchModel->search(Yii::$app->request->queryParams);

        return $this->render('index', [
            'searchModel' => $searchModel,
            'dataProvider' => $dataProvider,
        ]);
    }

    public function actionView($id)
    {
        return $this->render('view', [
            'model' => $this->findModel($id),
        ]);
    }

    public function actionCreate()
    {
        $model = new Post();

        if ($model->load(Yii::$app->request->post()) && $model->save()) {
            return $this->redirect(['view', 'id' => $model->id]);
        }

        return $this->render('create', [
            'model' => $model,
        ]);
    }

    // Update এবং Delete অ্যাকশনও এইভাবে তৈরি হবে
}

এখানে, actionCreate(), actionUpdate(), এবং actionDelete() সমস্ত CRUD অপারেশন একত্রিত করা হয়।


৩. Module জেনারেট করা

Modules Yii ফ্রেমওয়ার্কে কোডের পুনঃব্যবহারযোগ্য অংশ হিসেবে কাজ করে এবং একাধিক ভিন্ন অ্যাপ্লিকেশন অংশকে আলাদা করে রাখার সুযোগ দেয়। Yii-তে মডিউল তৈরি করা খুবই সহজ এবং Gii টুল ব্যবহার করে এটি খুব দ্রুত সম্ভব।

Module জেনারেট করার পদ্ধতি:

  1. Gii টুলে প্রবেশ করুন: আপনার ব্রাউজারে গিয়ে http://localhost:8080/index.php?r=gii এ যান এবং Module Generator নির্বাচন করুন।
  2. Module Generator ফর্ম পূরণ করুন:
    • Module ID: মডিউলের আইডি দিন, যেমন admin, blog বা user
    • Module Class: মডিউল ক্লাসের জন্য একটি ক্লাসের নাম দিন, যেমন app\modules\admin\Module
    • Controller Namespace: কন্ট্রোলারের নেমস্পেস, যেমন app\modules\admin\controllers
  3. Generate ক্লিক করুন:
    • তারপর Preview ক্লিক করুন এবং পরে Generate ক্লিক করুন।

এখন, মডিউল ডিরেক্টরির মধ্যে কন্ট্রোলার, মডেল, ভিউ এবং অন্যান্য ফাইল তৈরি হয়ে যাবে।

উদাহরণ:

namespace app\modules\admin;

use Yii;

class Module extends \yii\base\Module
{
    public $controllerNamespace = 'app\modules\admin\controllers';

    public function init()
    {
        parent::init();

        // মডিউল ইনিশিয়ালাইজেশন কোড
    }
}

এই মডিউলটি অ্যাডমিন প্যানেল তৈরি করতে ব্যবহার করা হতে পারে। মডিউলটি আলাদা করে অ্যাপ্লিকেশনের অন্যান্য অংশ থেকে কাজ করবে।


সারাংশ

Yii ফ্রেমওয়ার্কে Model, CRUD, এবং Module জেনারেট করা একটি সহজ প্রক্রিয়া, যা Gii টুলের মাধ্যমে দ্রুত এবং কার্যকরীভাবে করা যায়।

  • Model জেনারেট করলে ডেটাবেস টেবিলের সাথে সম্পর্কিত ক্লাস তৈরি হয়।
  • CRUD জেনারেট করলে একটি পূর্ণাঙ্গ CRUD অপারেশন (Create, Read, Update, Delete) অ্যাপ্লিকেশনে যুক্ত হয়।
  • Module জেনারেট করলে আপনি কোডের মডিউলার কাঠামো তৈরি করতে পারেন, যা অ্যাপ্লিকেশনটির অংশগুলি আলাদা করে রাখে এবং পুনঃব্যবহারযোগ্য কোড তৈরি করতে সাহায্য করে।
Content added By
Promotion

Are you sure to start over?

Loading...