Yii ফ্রেমওয়ার্কের Model হলো অ্যাপ্লিকেশনের ডেটা এবং বিজনেস লজিকের প্রতিনিধিত্বকারী একটি গুরুত্বপূর্ণ অংশ। এটি MVC (Model-View-Controller) আর্কিটেকচার অনুযায়ী ডেটা প্রসেসিং এবং ডেটাবেস ইন্টারঅ্যাকশনের জন্য দায়ী। মডেল ডেটাবেস টেবিলের সাথে সম্পর্কিত থাকে এবং ডেটা রিট্রিভাল, সংরক্ষণ, আপডেট বা ডিলিট করার জন্য ব্যবহৃত হয়। Yii ফ্রেমওয়ার্কে মডেল ক্লাস তৈরি করার জন্য বিশেষভাবে ActiveRecord প্যাটার্ন ব্যবহৃত হয়, যা ডেটাবেস টেবিলের সাথে সম্পর্কিত মডেল ক্লাস তৈরি করতে সহায়তা করে।
Model এর ভূমিকা
- ডেটাবেস ইন্টারঅ্যাকশন:
- মডেল ডেটাবেস টেবিলের সঙ্গে সম্পর্ক তৈরি করে এবং ডেটার সাথে যোগাযোগ (রিট্রিভাল, ইনসার্ট, আপডেট, ডিলিট) পরিচালনা করে।
- ActiveRecord প্যাটার্ন ব্যবহার করে, একটি মডেল ক্লাস একটি ডেটাবেস টেবিলের প্রতিনিধিত্ব করে, যেখানে প্রতিটি অবজেক্ট একটি টেবিলের রেকর্ডের সাথে সম্পর্কিত।
- ডেটা ভ্যালিডেশন:
- মডেল ডেটার ভ্যালিডেশন এবং স্যানিটাইজেশনের জন্য ব্যবহৃত হয়। যেমন, ব্যবহারকারীর ইনপুট যাচাই করা (যেমন ইমেইল ঠিকানা সঠিকভাবে ফরম্যাট করা)।
- Yii ফ্রেমওয়ার্কে, মডেল ক্লাসে বিভিন্ন ভ্যালিডেটর ব্যবহার করে ডেটা যাচাই করা হয়।
- ব্যবসায়িক লজিক (Business Logic):
- মডেলটি সাধারণত অ্যাপ্লিকেশনের ব্যবসায়িক লজিক ধারণ করে, যেমন প্রক্রিয়াগুলি পরিচালনা করা, হিসাব-নিকাশ করা ইত্যাদি।
- মডেল ক্লাসে মেথড এবং প্রপার্টির মাধ্যমে এই লজিক কার্যকর করা হয়।
- ডেটা ফরম্যাটিং:
- মডেল ডেটাকে বিশেষভাবে ফরম্যাট করার জন্য ব্যবহৃত হয়। উদাহরণস্বরূপ, তারিখ এবং সময়ের ফরম্যাটিং বা মূল্য গণনা করা।
- অবজেক্ট-রিলেশনাল ম্যাপিং (ORM):
- ActiveRecord প্যাটার্ন Yii তে ORM এর মত কাজ করে। মডেল ক্লাস ডেটাবেস টেবিলের সঙ্গে একে অপরের সম্পর্ক প্রতিষ্ঠা করে এবং ডেটাবেসের কাজগুলো সহজ করে।
Yii ফ্রেমওয়ার্কে Model তৈরি করা
Yii ফ্রেমওয়ার্কে একটি Model ক্লাস তৈরি করার জন্য সাধারণত Gii জেনারেটর ব্যবহার করা হয়, যা দ্রুত মডেল তৈরি করতে সহায়তা করে। উদাহরণস্বরূপ:
Model ক্লাস তৈরি:
php yii gii/model --tableName=table_name --modelClass=ModelNameএই কমান্ডটি একটি নতুন মডেল ক্লাস তৈরি করবে যা নির্দিষ্ট টেবিলের সাথে যুক্ত থাকবে।
- Model এর ফাংশনালিটি:
মডেল ক্লাসে বিভিন্ন ফাংশন থাকতে পারে যেমন:
class Post extends \yii\db\ActiveRecord { public static function tableName() { return 'post'; } public function rules() { return [ [['title', 'content'], 'required'], ['email', 'email'], ]; } }- এই ক্লাসে
rules()মেথডটি ডেটার ভ্যালিডেশন পরিচালনা করে এবংtableName()মেথডটি ডেটাবেস টেবিলের নাম নির্ধারণ করে।
সারাংশ
Yii ফ্রেমওয়ার্কে Model হলো ডেটাবেস ইন্টারঅ্যাকশন, ভ্যালিডেশন, ব্যবসায়িক লজিক এবং ডেটা ফরম্যাটিংয়ের জন্য প্রধান উপাদান। এটি ডেটাবেস টেবিলের সাথে সংযোগ স্থাপন করে এবং অ্যাপ্লিকেশনটির ডেটা এবং লজিকের মধ্যে মধ্যস্থতা তৈরি করে। ActiveRecord প্যাটার্নের মাধ্যমে Yii মডেল তৈরি করা হয়, যা ডেটাবেসের কাজগুলো সহজ এবং কার্যকরভাবে পরিচালনা করতে সহায়তা করে।
Read more