CakePHP এর config/app.php ফাইলটি অ্যাপ্লিকেশনের প্রধান কনফিগারেশন ফাইল। এই ফাইলে অ্যাপ্লিকেশন সম্পর্কিত বিভিন্ন সেটিংস এবং অপশন সংরক্ষিত থাকে, যেমন ডাটাবেস কনফিগারেশন, ক্যাশিং, সেশন এবং লোগিং সেটিংস। নিচে এই ফাইলটির প্রধান সেকশনগুলো ব্যাখ্যা করা হয়েছে।
config/app.php ফাইলের মূল সেকশনগুলো
১. App সেকশন
এই সেকশনটি অ্যাপ্লিকেশনের মৌলিক কনফিগারেশন সেটিংস ধারণ করে। এখানে বিভিন্ন গুরুত্বপূর্ণ সেটিংস পাওয়া যায় যেমন:
- namespace: অ্যাপ্লিকেশনের জন্য ব্যবহৃত নামস্থান। সাধারণত
Appদিয়ে শুরু হয়। - encoding: অ্যাপ্লিকেশনের ডিফল্ট এনকোডিং (যেমন UTF-8)।
- defaultLocale: অ্যাপ্লিকেশনের ডিফল্ট লোকাল (যেমন en_US)।
- defaultTimezone: অ্যাপ্লিকেশনের ডিফল্ট টাইমজোন (যেমন UTC)।
'App' => [
'namespace' => 'App',
'encoding' => 'UTF-8',
'defaultLocale' => 'en_US',
'defaultTimezone' => 'UTC',
'fullBaseUrl' => false,
],
২. Datasources সেকশন
এই সেকশনে অ্যাপ্লিকেশনের ডাটাবেস সংযোগের কনফিগারেশন থাকে। আপনি এখানে আপনার ডাটাবেসের হোস্ট, ইউজারনেম, পাসওয়ার্ড, ডাটাবেস নাম ইত্যাদি সেট করতে পারেন।
- default: ডিফল্ট ডাটাবেস সংযোগ সেটিংস।
- driver: ডাটাবেস ড্রাইভার (যেমন MySQL, PostgreSQL)।
- username, password, database: ডাটাবেস অ্যাক্সেসের জন্য প্রয়োজনীয় তথ্য।
'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,
],
],
৩. Error সেকশন
এই সেকশনটি অ্যাপ্লিকেশনের ত্রুটি এবং এক্সেপশন হ্যান্ডলিং কনফিগারেশন ধারণ করে। এখানে আপনি ত্রুটির লগিং এবং ত্রুটি প্রদর্শনের পদ্ধতি নির্ধারণ করতে পারেন।
- errorLevel: যে ধরনের ত্রুটি লগ করতে হবে (যেমন
E_ALLবাE_ERROR)। - exceptionRenderer: এক্সেপশন রেন্ডারার ক্লাস।
- logErrors: ত্রুটি লগ করার সক্ষমতা।
'Error' => [
'errorLevel' => E_ALL,
'exceptionRenderer' => 'Cake\Error\ExceptionRenderer',
'logErrors' => true,
'trace' => true,
],
৪. Cache সেকশন
এই সেকশনটি ক্যাশিং কনফিগারেশন সম্পর্কিত। আপনি এখানে ক্যাশিং ড্রাইভার এবং ক্যাশ টাইমআউট কনফিগার করতে পারেন।
- default: ডিফল্ট ক্যাশ ড্রাইভার, যেমন
FileবাMemcached। - duration: ক্যাশিংয়ের মেয়াদ।
'Cache' => [
'default' => [
'className' => 'Cake\Cache\Engine\FileEngine',
'duration' => '+1 hours',
'path' => CACHE,
'url' => env('CACHE_DEFAULT_URL', null),
],
],
৫. Security সেকশন
এই সেকশনটি অ্যাপ্লিকেশনের নিরাপত্তা সেটিংস ধারণ করে। এখানে আপনি নিরাপত্তা সম্পর্কিত প্যারামিটারগুলো কনফিগার করতে পারেন, যেমন সিকিউরিটি সল্ট এবং সিকিউরিটি কুকি।
- salt: নিরাপত্তার জন্য ব্যবহৃত একটি পাসফ্রেজ, যা এনক্রিপশন এবং হ্যাশিংয়ের জন্য প্রয়োজন।
- cipherSeed: সিকিউরিটি কিপিং এবং এনক্রিপশন কী।
'Security' => [
'salt' => 'a_random_salt_value_for_security',
'cipherSeed' => '1234567890',
],
৬. Session সেকশন
এই সেকশনটি সেশন কনফিগারেশন সম্পর্কিত। আপনি এখানে সেশন সংরক্ষণ পদ্ধতি (যেমন ডাটাবেস, ফাইল বা কুকি) কনফিগার করতে পারেন।
- defaults: সেশন ড্রাইভার (যেমন
phpবাdatabase)। - timeout: সেশনের টাইমআউট সময়কাল।
- cookie`: সেশন কুকি নাম।
'Session' => [
'defaults' => 'php',
'timeout' => 120,
'cookie' => 'CAKEPHP',
],
৭. Logging সেকশন
এই সেকশনটি অ্যাপ্লিকেশনের লগিং কনফিগারেশন ধারণ করে। আপনি এখানে বিভিন্ন লগিং স্তর নির্ধারণ করতে পারেন, যেমন debug, info, warning, error ইত্যাদি।
'Log' => [
'debug' => [
'className' => 'File',
'path' => LOGS,
'file' => 'debug',
'levels' => ['error', 'warning', 'info'],
],
],
৮. Email সেকশন
এই সেকশনে ইমেইল কনফিগারেশন সংরক্ষিত থাকে, যেখানে আপনি SMTP সেটিংস এবং অন্যান্য ইমেইল পাঠানোর ডিটেইলস কনফিগার করতে পারেন।
'Email' => [
'default' => [
'transport' => 'default',
'from' => ['noreply@yourdomain.com' => 'Your App'],
],
],
CakePHP এর config/app.php ফাইলটি আপনার অ্যাপ্লিকেশনের বিভিন্ন গুরুত্বপূর্ণ কনফিগারেশন এবং সেটিংস ধারণ করে। এই ফাইলটি অ্যাপ্লিকেশনের কার্যকারিতা এবং নিরাপত্তা নিশ্চিত করতে সহায়ক। আপনি এখানে ডাটাবেস, সেশন, ক্যাশিং, ইমেইল, লগিং, এবং অন্যান্য সেটিংস কনফিগার করতে পারবেন, যা আপনার অ্যাপ্লিকেশনকে আরও কার্যকরী এবং নিরাপদ করে তোলে।
Read more