Yii ফ্রেমওয়ার্কের ডেটাবেস কানেকশন সেটআপ এবং কনফিগারেশন একটি গুরুত্বপূর্ণ অংশ, যা ডেটাবেসের সঙ্গে অ্যাপ্লিকেশনের ইন্টারঅ্যাকশন প্রতিষ্ঠা করে। Yii 2-এ ডেটাবেস কানেকশন সাধারণত কনফিগারেশন ফাইলের মাধ্যমে পরিচালিত হয়, যেখানে ডেটাবেসের প্রয়োজনীয় তথ্য যেমন হোস্ট, ইউজারনেম, পাসওয়ার্ড এবং ডাটাবেসের নাম নির্দিষ্ট করা হয়। Yii 3-এও একইভাবে ডেটাবেস কনফিগারেশন করা হয়, তবে সেখানে কিছু নতুন এবং উন্নত কনফিগারেশন পদ্ধতি থাকতে পারে।
Yii 2 ডেটাবেস কানেকশন কনফিগারেশন
Yii 2-এ ডেটাবেস কানেকশন কনফিগারেশন সাধারণত config/db.php ফাইলে রাখা হয়। এখানে ডেটাবেসের বিস্তারিত তথ্য প্রদান করা হয়।
ডেটাবেস কনফিগারেশন উদাহরণ
config/db.php ফাইল তৈরি বা সম্পাদনা করুন:
<?php return [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=mydatabase', // ডেটাবেসের ডিএনএস 'username' => 'root', // ডেটাবেস ইউজারনেম 'password' => '', // ডেটাবেস পাসওয়ার্ড 'charset' => 'utf8', // ক্যারেক্টার সেট ];- class: ডেটাবেস কানেকশনের জন্য ব্যবহৃত ক্লাস (
yii\db\Connection). - dsn: ডেটাবেস কানেকশনের জন্য ডেটাবেস সোর্স নাম (DSN). এখানে MySQL উদাহরণ হিসেবে ব্যবহৃত হয়েছে।
- username: ডেটাবেসের ইউজারনেম.
- password: ডেটাবেস পাসওয়ার্ড.
- charset: ডেটাবেসের ক্যারেক্টার সেট।
- class: ডেটাবেস কানেকশনের জন্য ব্যবহৃত ক্লাস (
কনফিগারেশন ফাইল অ্যাড করা
আপনি যদি config/web.php ফাইলে ডেটাবেস কনফিগারেশন অ্যাড করতে চান, তাহলে এই কোডটি যোগ করুন:
'components' => [
'db' => require __DIR__ . '/db.php',
],
Yii 2 ডেটাবেস কানেকশন ব্যবহার
Yii 2-এ ডেটাবেস কানেকশন ব্যবহার করার জন্য আপনি Yii::$app->db ব্যবহার করতে পারেন। এর মাধ্যমে আপনি মডেল, কুয়েরি, ট্রানজেকশন ইত্যাদি পরিচালনা করতে পারবেন।
ডেটাবেস কুয়েরি উদাহরণ
$command = Yii::$app->db->createCommand('SELECT * FROM post');
$posts = $command->queryAll();
ActiveRecord ব্যবহার করে ডেটা ইনসার্ট করা
Yii 2 এর ActiveRecord প্যাটার্ন ব্যবহার করে ডেটাবেসে ডেটা ইনসার্ট করা:
$post = new \app\models\Post();
$post->title = 'New Post';
$post->content = 'This is the content of the new post.';
$post->save();
Yii 3 ডেটাবেস কানেকশন কনফিগারেশন
Yii 3-এ ডেটাবেস কানেকশন কনফিগারেশন কিছুটা পরিবর্তিত হয়েছে, তবে এর মূল ধারণা একই। Yii 3-এ কনফিগারেশন ফাইলটি config/db.php বা অনুরূপ ফাইলেই রাখা হয়।
Yii 3 কনফিগারেশন উদাহরণ
config/db.php ফাইল তৈরি বা সম্পাদনা করুন:
<?php return [ 'dsn' => 'mysql:host=localhost;dbname=mydatabase', // ডেটাবেসের ডিএনএস 'user' => 'root', // ডেটাবেস ইউজার 'password' => '', // পাসওয়ার্ড ];
ডেটাবেস কনফিগারেশন Yii 3 অ্যাপে অন্তর্ভুক্ত করা
Yii 3-এ কনফিগারেশন অ্যাড করার জন্য Application এর কনফিগারেশনে নিম্নলিখিত কোডটি ব্যবহার করতে হবে:
'components' => [
'db' => [
'class' => \Yiisoft\Db\Mysql\Connection::class,
'dsn' => 'mysql:host=localhost;dbname=mydatabase',
'user' => 'root',
'password' => '',
],
],
ডেটাবেস কানেকশন সম্পর্কিত কিছু গুরুত্বপূর্ণ বিষয়
ডেটাবেস ট্রানজেকশন: Yii ফ্রেমওয়ার্কে ডেটাবেস ট্রানজেকশন খুবই সহজে ব্যবহার করা যায়। এটি ডেটাবেসের কার্যক্রম গ্রুপ করে এবং সফলভাবে শেষ না হলে সমস্ত পরিবর্তন রিভার্ট করে।
উদাহরণ:
$transaction = Yii::$app->db->beginTransaction(); try { // ডেটাবেস অপারেশন $post->save(); $transaction->commit(); } catch (\Exception $e) { $transaction->rollBack(); }ডেটাবেস কুয়েরি বিল্ডিং: Yii 2 এর
yii\db\Queryক্লাসের মাধ্যমে ডেটাবেস কুয়েরি বিল্ড করা যায়, যা SQL কুয়েরি নির্মাণে সাহায্য করে।উদাহরণ:
$posts = (new \yii\db\Query()) ->select('*') ->from('post') ->all();- ActiveRecord: ActiveRecord প্যাটার্নের মাধ্যমে ডেটাবেস টেবিলের সাথে সম্পর্কিত মডেল তৈরি করে CRUD অপারেশন সম্পাদন করা যায়।
সারাংশ
Yii ফ্রেমওয়ার্কের ডেটাবেস কানেকশন কনফিগারেশন খুবই সোজা এবং শক্তিশালী। Yii 2 ও Yii 3-এ ডেটাবেস কানেকশন সেটআপ করতে ডিএনএস, ইউজারনেম এবং পাসওয়ার্ড সহ কনফিগারেশন ফাইল ব্যবহার করা হয়। আপনি Yii::$app->db এর মাধ্যমে ডেটাবেসের সঙ্গে যোগাযোগ করতে পারবেন এবং ActiveRecord, কুয়েরি বিল্ডার এবং ট্রানজেকশন পরিচালনা করতে পারবেন। Yii 3-এ কিছু নতুন কনফিগারেশন পদ্ধতি রয়েছে, তবে Yii 2 এর মতোই কার্যকরী।