CakePHP তে বিভিন্ন ধরনের কনফিগারেশন, যেমন ক্যালেন্ডার এবং মুদ্রা ফরম্যাটের কাস্টমাইজেশন, সহজেই করা যায়। এ ধরনের কনফিগারেশন ব্যবহারকারীকে তাদের লোকালাইজড ডেটা প্রদান করার জন্য অপরিহার্য। এই টিউটোরিয়ালে আমরা কেকপিএইচপি তে Currency এবং Date Format কনফিগারেশন কীভাবে করা যায়, তা আলোচনা করবো।
১. Currency ফরম্যাট কনফিগারেশন
CakePHP তে মুদ্রা ফরম্যাট কনফিগারেশন ব্যবহারের মাধ্যমে আপনি বিভিন্ন দেশ বা অঞ্চলের মুদ্রা সিম্বল এবং ডেটা ফরম্যাট সঠিকভাবে প্রদর্শন করতে পারবেন।
১.১. মুদ্রা ফরম্যাট প্রদর্শন
CakePHP তে NumberHelper ব্যবহার করে মুদ্রা প্রদর্শন করা সম্ভব। উদাহরণস্বরূপ:
<?= $this->Number->currency($price, 'USD') ?>
এখানে:
$price: যে দামটি আপনি প্রদর্শন করতে চান।'USD': এখানে মুদ্রা সিম্বলটি দেওয়া হয়েছে, যেমনUSD,INR,EURইত্যাদি।
১.২. মুদ্রা কনফিগারেশন পরিবর্তন
CakePHP এর কনফিগারেশন ফাইলে config/app.php মুদ্রা ফরম্যাটের জন্য কাস্টম সেটিংস তৈরি করা যেতে পারে। আপনি যদি আপনার অ্যাপ্লিকেশনে ডিফল্ট মুদ্রা পরিবর্তন করতে চান, তাহলে নিচের মতো সেটিংস ব্যবহার করতে পারেন:
'Currency' => [
'default' => 'USD', // ডিফল্ট মুদ্রা সিম্বল
'allowed' => ['USD', 'INR', 'EUR'], // অনুমোদিত মুদ্রা সিম্বল
],
এই কনফিগারেশনটি মুদ্রা সিলেকশন এবং কাস্টম ফরম্যাটিং করতে সহায়তা করবে।
১.৩. কাস্টম মুদ্রা ফরম্যাট
কেকপিএইচপি আপনাকে বিভিন্ন কাস্টম মুদ্রা ফরম্যাটও সেট করতে দেয়। নিচে একটি কাস্টম মুদ্রা ফরম্যাট প্রদর্শনের উদাহরণ দেওয়া হল:
<?= $this->Number->format($price, [
'before' => '$', // মুদ্রা সিম্বল আগে
'thousands' => ',', // হাজারের সেপারেটর
'decimals' => 2 // দশমিকের পর ২টি ডিজিট
]) ?>
এখানে:
'before' => '$': মুদ্রা সিম্বল হিসেবে$ব্যবহার করা হয়েছে।'thousands' => ',': হাজারের সংখ্যা সেপারেটর হিসেবে কমা ব্যবহার করা হয়েছে।'decimals' => 2: দশমিকের পর ২টি ডিজিট।
২. Date Format কনফিগারেশন
CakePHP তে তারিখ এবং সময় ফরম্যাট কাস্টমাইজেশন খুব সহজ। সাধারণত, CakePHP DateHelper ব্যবহার করে তারিখের ফরম্যাট কনফিগার করা হয়।
২.১. ডিফল্ট তারিখ ফরম্যাট
CakePHP তে তারিখ ফরম্যাট করার জন্য DateHelper ব্যবহার করা হয়। নিচে একটি সাধারণ তারিখ প্রদর্শনের উদাহরণ দেওয়া হলো:
<?= $this->Time->format($date, 'dd/MM/yyyy') ?>
এখানে:
$date: যে তারিখটি আপনি প্রদর্শন করতে চান।'dd/MM/yyyy': এটি তারিখের ফরম্যাট, যেমনডে/মাস/বছর।
২.২. কাস্টম ডেট ফরম্যাট কনফিগারেশন
CakePHP তে ডেটার জন্য কাস্টম ফরম্যাট সেট করতে হলে, config/app.php ফাইলে ডেট ফরম্যাট কনফিগারেশন করা যেতে পারে।
'App' => [
'dateFormat' => 'yyyy-MM-dd', // ডিফল্ট তারিখ ফরম্যাট
'timeFormat' => 'HH:mm:ss', // ডিফল্ট সময় ফরম্যাট
],
এখানে:
'dateFormat' => 'yyyy-MM-dd': ডিফল্ট তারিখ ফরম্যাট হিসেবেবছর-মাস-দিনসেট করা হয়েছে।'timeFormat' => 'HH:mm:ss': ডিফল্ট সময় ফরম্যাট হিসেবেঘণ্টা:মিনিট:সেকেন্ডসেট করা হয়েছে।
২.৩. তারিখ ও সময় প্রদর্শন
CakePHP তে তারিখ এবং সময় প্রদর্শন করতে TimeHelper ব্যবহার করা হয়। নিচে কিছু উদাহরণ দেওয়া হলো:
<?= $this->Time->format('2024-12-07 15:30:00', 'dd/MM/yyyy HH:mm') ?>
এখানে:
'dd/MM/yyyy HH:mm': এটি তারিখ এবং সময়ের ফরম্যাট, যেমন07/12/2024 15:30।
২.৪. লোকালাইজড তারিখ এবং সময় ফরম্যাট
আপনি যদি বিভিন্ন ভাষায় তারিখ এবং সময় ফরম্যাট ব্যবহার করতে চান, তবে CakePHP তে লোকালাইজেশন সুবিধা রয়েছে। এর মাধ্যমে আপনি স্থানীয় ভাষা এবং সংস্কৃতির ভিত্তিতে তারিখ এবং সময় প্রদর্শন করতে পারেন।
<?= $this->Time->format('2024-12-07 15:30:00', 'LLLL', ['locale' => 'fr_FR']) ?>
এখানে:
'LLLL': এটি পূর্ণ তারিখ এবং সময় ফরম্যাট, যেমনdimanche 7 décembre 2024 15:30.'locale' => 'fr_FR': এটি ফ্রেঞ্চ (ফ্রান্স) লোকাল ব্যবহার করতে সাহায্য করবে।
৩. Timezone কনফিগারেশন
CakePHP তে আপনি timezone কনফিগারেশনও পরিবর্তন করতে পারেন। এর মাধ্যমে আপনি ডেটা সময় অনুযায়ী ফরম্যাট বা কাজ করতে পারবেন।
৩.১. ডিফল্ট টাইমজোন কনফিগারেশন
'App' => [
'defaultTimezone' => 'Asia/Dhaka', // ডিফল্ট টাইমজোন সেট করা হচ্ছে
],
এখানে 'Asia/Dhaka' টাইমজোন সেট করা হয়েছে, তবে আপনি অন্যান্য টাইমজোন যেমন 'America/New_York', 'Europe/London' ব্যবহার করতে পারেন।
CakePHP তে Currency এবং Date Format কনফিগারেশন করা অত্যন্ত সহজ। CakePHP এর NumberHelper এবং TimeHelper এর মাধ্যমে আপনি মুদ্রা এবং তারিখের ফরম্যাট কাস্টমাইজ করতে পারেন, যা ব্যবহারকারীর প্রয়োজন অনুযায়ী লোকালাইজড ফরম্যাট প্রদর্শন করার জন্য সহায়ক। কনফিগারেশন ফাইল app.php তে মুদ্রা, তারিখ, সময় এবং টাইমজোন কাস্টমাইজেশন করাও সম্ভব। এই ধরনের কনফিগারেশন কাস্টম অ্যাপ্লিকেশনের জন্য একটি উন্নত এবং সুনির্দিষ্ট ব্যবহারকারীর অভিজ্ঞতা নিশ্চিত করে।
Read more