ডেটাবেস কানেকশন এবং Configuration

মডেলস এবং ডেটাবেস ইন্টিগ্রেশন - জী ফ্রেমওয়ার্ক (Yii Framework) - Web Development

249

Yii ফ্রেমওয়ার্কের ডেটাবেস কানেকশন সেটআপ এবং কনফিগারেশন একটি গুরুত্বপূর্ণ অংশ, যা ডেটাবেসের সঙ্গে অ্যাপ্লিকেশনের ইন্টারঅ্যাকশন প্রতিষ্ঠা করে। Yii 2-এ ডেটাবেস কানেকশন সাধারণত কনফিগারেশন ফাইলের মাধ্যমে পরিচালিত হয়, যেখানে ডেটাবেসের প্রয়োজনীয় তথ্য যেমন হোস্ট, ইউজারনেম, পাসওয়ার্ড এবং ডাটাবেসের নাম নির্দিষ্ট করা হয়। Yii 3-এও একইভাবে ডেটাবেস কনফিগারেশন করা হয়, তবে সেখানে কিছু নতুন এবং উন্নত কনফিগারেশন পদ্ধতি থাকতে পারে।


Yii 2 ডেটাবেস কানেকশন কনফিগারেশন

Yii 2-এ ডেটাবেস কানেকশন কনফিগারেশন সাধারণত config/db.php ফাইলে রাখা হয়। এখানে ডেটাবেসের বিস্তারিত তথ্য প্রদান করা হয়।

ডেটাবেস কনফিগারেশন উদাহরণ

  1. 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: ডেটাবেসের ক্যারেক্টার সেট।

কনফিগারেশন ফাইল অ্যাড করা

আপনি যদি 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 কনফিগারেশন উদাহরণ

  1. 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' => '',
    ],
],

ডেটাবেস কানেকশন সম্পর্কিত কিছু গুরুত্বপূর্ণ বিষয়

  1. ডেটাবেস ট্রানজেকশন: Yii ফ্রেমওয়ার্কে ডেটাবেস ট্রানজেকশন খুবই সহজে ব্যবহার করা যায়। এটি ডেটাবেসের কার্যক্রম গ্রুপ করে এবং সফলভাবে শেষ না হলে সমস্ত পরিবর্তন রিভার্ট করে।

    উদাহরণ:

    $transaction = Yii::$app->db->beginTransaction();
    try {
        // ডেটাবেস অপারেশন
        $post->save();
        $transaction->commit();
    } catch (\Exception $e) {
        $transaction->rollBack();
    }
    
  2. ডেটাবেস কুয়েরি বিল্ডিং: Yii 2 এর yii\db\Query ক্লাসের মাধ্যমে ডেটাবেস কুয়েরি বিল্ড করা যায়, যা SQL কুয়েরি নির্মাণে সাহায্য করে।

    উদাহরণ:

    $posts = (new \yii\db\Query())
        ->select('*')
        ->from('post')
        ->all();
    
  3. ActiveRecord: ActiveRecord প্যাটার্নের মাধ্যমে ডেটাবেস টেবিলের সাথে সম্পর্কিত মডেল তৈরি করে CRUD অপারেশন সম্পাদন করা যায়।

সারাংশ

Yii ফ্রেমওয়ার্কের ডেটাবেস কানেকশন কনফিগারেশন খুবই সোজা এবং শক্তিশালী। Yii 2 ও Yii 3-এ ডেটাবেস কানেকশন সেটআপ করতে ডিএনএস, ইউজারনেম এবং পাসওয়ার্ড সহ কনফিগারেশন ফাইল ব্যবহার করা হয়। আপনি Yii::$app->db এর মাধ্যমে ডেটাবেসের সঙ্গে যোগাযোগ করতে পারবেন এবং ActiveRecord, কুয়েরি বিল্ডার এবং ট্রানজেকশন পরিচালনা করতে পারবেন। Yii 3-এ কিছু নতুন কনফিগারেশন পদ্ধতি রয়েছে, তবে Yii 2 এর মতোই কার্যকরী।

Content added By
Promotion

Are you sure to start over?

Loading...