FuelPHP এর ডাটাবেস কনফিগারেশন

ডাটাবেস ইন্টিগ্রেশন এবং কুয়েরি বিল্ডার - ফুয়েলপিএইচপি (FuelPHP) - Web Development

225

FuelPHP একটি শক্তিশালী এবং নমনীয় PHP ফ্রেমওয়ার্ক, যা MVC (Model-View-Controller) আর্কিটেকচার অনুসরণ করে। FuelPHP-তে ডাটাবেস কনফিগারেশন অত্যন্ত গুরুত্বপূর্ণ, কারণ এটি আপনাকে আপনার অ্যাপ্লিকেশন এবং ডাটাবেসের মধ্যে সম্পর্ক স্থাপন করতে সহায়তা করে। FuelPHP তে ডাটাবেস কনফিগারেশন সম্পাদন করা খুবই সহজ এবং সরল, এবং এটি ORM (Object-Relational Mapping) এর মাধ্যমে ডাটাবেসের সঙ্গে ইন্টারঅ্যাক্ট করতে সহায়তা করে।

এখানে FuelPHP এর ডাটাবেস কনফিগারেশন কিভাবে সেট আপ করবেন এবং ORM ব্যবহার করবেন, তা বিস্তারিতভাবে আলোচনা করা হয়েছে।

FuelPHP এর ডাটাবেস কনফিগারেশন:

FuelPHP তে ডাটাবেস কনফিগারেশন প্রধানত app/config/db.php ফাইলে রাখা হয়। এই ফাইলটি আপনার ডাটাবেসের সংযোগ এবং অন্যান্য সেটিংস পরিচালনা করে।

1. ডাটাবেস কনফিগারেশন ফাইল:

FuelPHP তে ডাটাবেস কনফিগারেশন করার জন্য প্রথমে app/config/db.php ফাইলটি সম্পাদনা করতে হয়।

উদাহরণ: app/config/db.php

return array(
    'default' => array(
        'type'           => 'mysql',  // ডাটাবেস টাইপ, যেমন mysql, pgsql, sqlite ইত্যাদি
        'connection'     => array(
            'host'        => 'localhost',  // ডাটাবেস সার্ভারের হোস্ট
            'username'    => 'root',       // ইউজারনেম
            'password'    => '',           // পাসওয়ার্ড
            'database'    => 'fuelphp_db', // ডাটাবেস নাম
            'port'        => 3306,         // পোর্ট (যেমন: MySQL এর জন্য 3306)
        ),
        'table_prefix'   => '',           // টেবিলের প্রিফিক্স (যদি থাকে)
        'charset'        => 'utf8',       // ক্যারেক্টার সেটিং
        'enable_profiling' => false,      // প্রোফাইলিং চালু/বন্ধ
    ),
);

এখানে:

  • type: এখানে আপনি ডাটাবেস সিস্টেম নির্বাচন করবেন যেমন mysql, pgsql, sqlite ইত্যাদি।
  • connection: এটি আপনার ডাটাবেসের হোস্ট, ইউজারনেম, পাসওয়ার্ড এবং ডাটাবেসের নাম নির্ধারণ করে।
  • table_prefix: টেবিলের নামের পূর্বে প্রিফিক্স যোগ করতে চাইলে এখানে সেট করা যাবে।
  • charset: ডাটাবেসের ক্যারেক্টার সেট, সাধারণত utf8 সঠিক থাকে।
  • enable_profiling: এটি FuelPHP তে ডাটাবেস কোয়েরি প্রোফাইলিং সক্ষম/অক্ষম করতে ব্যবহৃত হয়।

2. Multiple Database Connections (বহু ডাটাবেস সংযোগ):

FuelPHP আপনাকে একাধিক ডাটাবেসের সাথে সংযোগ স্থাপন করার সুবিধা দেয়। যদি আপনি একাধিক ডাটাবেসে কাজ করতে চান তবে, আপনি একাধিক সংযোগ কনফিগার করতে পারেন।

উদাহরণ:

return array(
    'default' => array(
        'type'           => 'mysql',
        'connection'     => array(
            'host'        => 'localhost',
            'username'    => 'root',
            'password'    => '',
            'database'    => 'fuelphp_db',
            'port'        => 3306,
        ),
    ),
    'secondary' => array(   // দ্বিতীয় ডাটাবেস সংযোগ
        'type'           => 'pgsql',
        'connection'     => array(
            'host'        => 'localhost',
            'username'    => 'postgres',
            'password'    => '',
            'database'    => 'secondary_db',
            'port'        => 5432,
        ),
    ),
);

এখানে secondary নামে একটি অতিরিক্ত ডাটাবেস সংযোগ তৈরি করা হয়েছে, যেখানে PostgreSQL ডাটাবেস ব্যবহার করা হয়েছে।

3. FuelPHP ORM (Object-Relational Mapping):

FuelPHP তে ডাটাবেসের সাথে যোগাযোগ করার জন্য ORM ব্যবহৃত হয়, যা ডাটাবেস টেবিল এবং Model এর মধ্যে সম্পর্ক স্থাপন করে। ORM ক্লাসের মাধ্যমে আপনি ডাটাবেস থেকে ডেটা বের করতে, তৈরি করতে এবং সংশোধন করতে পারবেন।

ORM মডেল তৈরি:

FuelPHP তে ORM মডেল তৈরি করতে আপনাকে একটি মডেল ক্লাস তৈরি করতে হবে, যা FuelPHP এর Orm\Model ক্লাস থেকে এক্সটেন্ড করবে। এই মডেলটি ডাটাবেস টেবিলের সাথে সম্পর্কিত থাকবে।

উদাহরণ: app/classes/model/user.php

class Model_User extends Orm\Model
{
    protected static $_properties = array(
        'id',
        'username',
        'email',
        'created_at',
        'updated_at',
    );

    protected static $_table_name = 'users';  // টেবিলের নাম

    protected static $_primary_key = array('id');  // প্রাইমারি কী

    // ডাটাবেস ইন্সার্টের আগে টাইমস্ট্যাম্প সেট করা
    protected static $_created_at = 'created_at';
    protected static $_updated_at = 'updated_at';
}

এখানে:

  • $_properties: টেবিলের কলাম নামগুলো এখানে উল্লেখ করা হয়।
  • $_table_name: ডাটাবেস টেবিলের নাম নির্ধারণ করা হয়।
  • $_primary_key: টেবিলের প্রাইমারি কী নির্ধারণ করা হয়।
ORM এর মাধ্যমে ডেটা ইনসার্ট এবং ফেচ করা:

ORM মডেল ব্যবহার করে FuelPHP তে ডেটা ইনসার্ট এবং ফেচ করার উদাহরণ:

// নতুন ইউজার তৈরি করা
$user = Model_User::forge(array(
    'username' => 'john_doe',
    'email' => 'john@example.com',
));

$user->save();  // ডাটাবেসে সেভ করা

// ইউজার ডেটা ফেচ করা
$user = Model_User::find(1);  // আইডি 1 এর ইউজার ফেচ করা

echo $user->username;  // 'john_doe'

এখানে:

  • forge(): মডেল ইনস্ট্যান্স তৈরি করার জন্য ব্যবহৃত হয়।
  • save(): ডাটাবেসে ডেটা ইনসার্ট বা আপডেট করা হয়।
  • find(): ডাটাবেস থেকে নির্দিষ্ট রেকর্ড ফেচ করা হয়।

4. Query Builder এর মাধ্যমে ডেটাবেস অপারেশন:

FuelPHP তে Query Builder ব্যবহৃত হয় ডাটাবেসের সাথে জটিল কোয়েরি পরিচালনা করার জন্য। এটি SQL কোডকে সহজ এবং নিরাপদভাবে জেনারেট করতে সহায়তা করে।

উদাহরণ:

$query = DB::select()->from('users')->where('id', '=', 1);
$user = $query->execute();

এখানে:

  • DB::select(): ডাটাবেস থেকে সিলেক্ট কোয়েরি তৈরি করা।
  • from(): টেবিল নাম নির্ধারণ করা।
  • where(): কন্ডিশন যোগ করা।

5. Transaction Management:

FuelPHP তে ডাটাবেস ট্রানজ্যাকশন পরিচালনা করা যায়, যা ডেটা অটোমেটিকভাবে রোলব্যাক বা কমিট করার সুবিধা দেয়।

উদাহরণ:

DB::start_transaction();

try {
    // ডাটাবেস অপারেশন
    DB::insert('users')->set(array('username' => 'alice', 'email' => 'alice@example.com'))->execute();

    // ট্রানজ্যাকশন কমিট করা
    DB::commit_transaction();
} catch (Exception $e) {
    // এক্সেপশন হ্যান্ডেলিং
    DB::rollback_transaction();
}

এখানে:

  • DB::start_transaction(): ট্রানজ্যাকশন শুরু করা।
  • DB::commit_transaction(): সফলভাবে ট্রানজ্যাকশন কমিট করা।
  • DB::rollback_transaction(): কোনো ত্রুটির ক্ষেত্রে ট্রানজ্যাকশন রোলব্যাক করা।

সারাংশ:

  • FuelPHP তে ডাটাবেস কনফিগারেশন এবং ব্যবস্থাপনা খুবই সহজ এবং শক্তিশালী।
  • ORM ব্যবহার করে আপনি Model ক্লাস তৈরি করতে পারেন, যা ডাটাবেস টেবিলের সাথে সম্পর্ক স্থাপন করে এবং ডেটা ইনসার্ট/ফেচ করার সুবিধা দেয়।
  • Query Builder এর মাধ্যমে জটিল SQL কোয়েরি তৈরি করা সহজ হয়।
  • Transaction Management এর মাধ্যমে ডাটাবেস অপারেশনগুলোকে নিরাপদভাবে পরিচালনা করা যায়।
  • Validation এবং Filtering ফিচার ব্যবহার করে ফর্ম ইনপুট এবং ডেটা নিরাপদভাবে যাচাই ও সঠিক করা যায়।

FuelPHP তে ডাটাবেস কনফিগারেশন, ORM এবং Query Builder ব্যবহার করে আপনি খুব সহজেই শক্তিশালী এবং স্কেলেবল ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...