ডাটাবেস কনফিগারেশন (MySQL, PostgreSQL ইত্যাদি)

CakePHP এর বেসিক কনফিগারেশন - কেকপিএইচপি (CakePHP) - Web Development

257

CakePHP একটি শক্তিশালী PHP ফ্রেমওয়ার্ক যা বিভিন্ন ডাটাবেসের সাথে কাজ করার জন্য কনফিগারেশন প্রদান করে। ডাটাবেস কনফিগারেশন config/app.php ফাইলের Datasources সেকশনে করা হয়। এখানে আপনি MySQL, PostgreSQL, SQLite এবং অন্যান্য ডাটাবেস কনফিগারেশন করতে পারবেন। নিচে CakePHP-তে MySQL এবং PostgreSQL এর ডাটাবেস কনফিগারেশন কীভাবে করতে হয়, তা বিস্তারিতভাবে ব্যাখ্যা করা হয়েছে।


১. MySQL ডাটাবেস কনফিগারেশন

CakePHP-তে MySQL ডাটাবেস কনফিগার করতে config/app.php ফাইলের Datasources সেকশনে ডাটাবেসের তথ্য পূর্ণ করতে হয়।

১.১. MySQL ডাটাবেস কনফিগারেশন

config/app.php ফাইলে ডাটাবেস কনফিগারেশন সেকশনে MySQL সেটআপ করতে নিচের মতো কোড থাকবে:

'Datasources' => [
    'default' => [
        'className' => 'Cake\Database\Connection',
        'driver' => 'Cake\Database\Driver\Mysql',
        'persistent' => false,
        'host' => 'localhost',  // ডাটাবেস সার্ভারের হোস্ট নাম
        'username' => 'root',   // ডাটাবেসের ইউজারনেম
        'password' => '',       // ডাটাবেসের পাসওয়ার্ড
        'database' => 'cakephp_app',  // আপনার ডাটাবেসের নাম
        'encoding' => 'utf8',
        'timezone' => 'UTC',
        'cacheMetadata' => true,
        'quoteIdentifiers' => false,
        'log' => false,
    ],
],
  • className: Cake\Database\Connection দ্বারা ডাটাবেস সংযোগ তৈরি হবে।
  • driver: ড্রাইভার হিসেবে Cake\Database\Driver\Mysql ব্যবহার করা হয়েছে।
  • host: ডাটাবেসের হোস্ট নাম (যেমন localhost)।
  • username: ডাটাবেস ইউজারনেম (যেমন root)।
  • password: ডাটাবেসের পাসওয়ার্ড।
  • database: ডাটাবেসের নাম যেখানে অ্যাপ্লিকেশনটি কাজ করবে (যেমন cakephp_app)।
  • encoding: ডাটাবেসের এনকোডিং (utf8)।
  • timezone: ডাটাবেসের টাইমজোন (যেমন UTC)।

২. PostgreSQL ডাটাবেস কনফিগারেশন

CakePHP-তে PostgreSQL ডাটাবেস কনফিগার করতে MySQL এর মতোই config/app.php ফাইলের Datasources সেকশনে পরিবর্তন করতে হবে। PostgreSQL কনফিগারেশনের জন্য কোডটি নিচের মতো হবে:

২.১. PostgreSQL ডাটাবেস কনফিগারেশন

'Datasources' => [
    'default' => [
        'className' => 'Cake\Database\Connection',
        'driver' => 'Cake\Database\Driver\Postgres',
        'persistent' => false,
        'host' => 'localhost',  // ডাটাবেস সার্ভারের হোস্ট নাম
        'username' => 'postgres',  // ডাটাবেস ইউজারনেম
        'password' => '',  // ডাটাবেস পাসওয়ার্ড
        'database' => 'cakephp_app',  // আপনার ডাটাবেসের নাম
        'encoding' => 'utf8',
        'timezone' => 'UTC',
        'cacheMetadata' => true,
        'quoteIdentifiers' => false,
        'log' => false,
    ],
],
  • driver: PostgreSQL ড্রাইভার হিসেবে Cake\Database\Driver\Postgres ব্যবহার করা হয়েছে।
  • host: ডাটাবেসের হোস্ট নাম (যেমন localhost)।
  • username: ডাটাবেস ইউজারনেম (যেমন postgres)।
  • password: ডাটাবেসের পাসওয়ার্ড।
  • database: ডাটাবেসের নাম (যেমন cakephp_app)।
  • encoding: PostgreSQL এনকোডিং (utf8)।

৩. SQLite ডাটাবেস কনফিগারেশন

CakePHP-তে SQLite ডাটাবেস কনফিগার করার জন্য নিচের কোড ব্যবহার করতে হবে। SQLite মূলত ফাইল-বেসড ডাটাবেস, সুতরাং আপনাকে ডাটাবেসের ফাইল পাথ দিতে হবে।

৩.১. SQLite ডাটাবেস কনফিগারেশন

'Datasources' => [
    'default' => [
        'className' => 'Cake\Database\Connection',
        'driver' => 'Cake\Database\Driver\Sqlite',
        'persistent' => false,
        'database' => '/path/to/your/database.sqlite',  // SQLite ডাটাবেস ফাইলের পাথ
        'encoding' => 'utf8',
        'timezone' => 'UTC',
        'cacheMetadata' => true,
        'quoteIdentifiers' => false,
        'log' => false,
    ],
],
  • driver: SQLite ড্রাইভার হিসেবে Cake\Database\Driver\Sqlite ব্যবহার করা হয়েছে।
  • database: SQLite ডাটাবেস ফাইলের পাথ প্রদান করতে হবে।

৪. ডাটাবেস কনফিগারেশন টিপস

  • প্রোডাকশন ও ডেভেলপমেন্ট: config/app.php ফাইলের Datasources সেকশনে আপনি আলাদা প্রোডাকশন এবং ডেভেলপমেন্ট ডাটাবেস কনফিগারেশন রাখতে পারেন। ডেভেলপমেন্ট পরিবেশে আপনার স্থানীয় (localhost) ডাটাবেস ব্যবহার করতে পারেন, কিন্তু প্রোডাকশন পরিবেশে আপনার রিমোট ডাটাবেস ব্যবহার করতে হবে।

    উদাহরণ:

    'Datasources' => [
        'default' => [
            'className' => 'Cake\Database\Connection',
            'driver' => 'Cake\Database\Driver\Mysql',
            'host' => env('DB_HOST', 'localhost'),
            'username' => env('DB_USERNAME', 'root'),
            'password' => env('DB_PASSWORD', ''),
            'database' => env('DB_DATABASE', 'cakephp_app'),
        ],
    ],
    
  • env() ফাংশন: আপনার ডাটাবেস কনফিগারেশন সিক্রেট রাখতে env() ফাংশন ব্যবহার করতে পারেন। এটি .env ফাইলের ভ্যালু রিড করবে, যা নিরাপদ এবং কনফিগারেশন পরিবর্তন করা সহজ করে।

উপসংহার

CakePHP-তে ডাটাবেস কনফিগারেশন করা একটি সহজ প্রক্রিয়া। আপনি MySQL, PostgreSQL বা SQLite সহ অন্যান্য ডাটাবেসে কনফিগারেশন করতে পারেন। ডাটাবেসের হোস্ট, ইউজারনেম, পাসওয়ার্ড, ডাটাবেস নাম এবং অন্যান্য গুরুত্বপূর্ণ তথ্য config/app.php ফাইলে সঠিকভাবে সেট করার মাধ্যমে ডাটাবেসের সাথে সংযোগ স্থাপন করা যায়।

Content added By
Promotion

Are you sure to start over?

Loading...