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 ফাইলে সঠিকভাবে সেট করার মাধ্যমে ডাটাবেসের সাথে সংযোগ স্থাপন করা যায়।
Read more