Monday, December 23, 2024

সহজ বাংলায় পিএইচপি : পিএইচপি কোড লেখা

সূচীপত্র


পিএইচপি কোড লেখা

পিএইচপি কোড মানুষের দ্বারা যেমন পড়া হয়, এক্সিকিউট হওয়ার সময় পিএইচপি সফটওয়্যার দ্বারাও পড়া হয়। মানুষই পিএইচপি কোড লিখে, মডিফাই করে, আপডেট করে এবং মেইনটেইন করে থাকে। যেমন একটি পিএইচপি স্ক্রিপ্ট লেখার এক বা দুই বছর পর একে কিছু পরিবর্তন করার প্রয়োজন পড়লো। আর যে ব্যক্তি এই কোড লিখেছেন তিনি হয়তো এই প্রতিষ্ঠান থেকে চাকরি ছেড়ে দিয়েছেন। নতুন যে ব্যক্তি আসলেন তিনি এই স্ক্রিপ্টটি আগে কখনোই দেখেননি। আর কোডটি পরিবর্তন করার জন্য অবশ্যই এটি ভালোভাবে বুঝতে হবে। আর এ জন্যই কোড লেখার সময় নির্দিষ্ট কিছু স্টাইল ব্যবহার করতে হবে যাতে করে অন্য একজন প্রোগ্রামার সহজেই কোড বুঝতে পারে। স্টাইলের ক্ষেত্রে ইন্ডেট ব্যবহার করা বা কমেন্ট ব্যবহার করা এগুলো কোডের কোন কাজ নয় বা কোডে কোন প্রভাবও ফেলবে না, শুধু বোঝার সুবিধার জন্যই এই স্টাইল।

if(the sky is blue)
{
Mr & Mrs Khan ready to go for a walk in the park;
}

if(the sky is blue) 
{Mr & Mrs Khan ready to go for a walk in the park;}

ব্লক স্টেটমেন্টের ক্ষেত্রে উপরের মতো দুই ধরণের স্টাইল ব্যবহার করা হয়।

ওয়েব পেজে কনটেন্ট ডিসপ্লে করা

ওয়েব পেজে echo ও print স্টেটমেন্টের মাধ্যমে কনটেন্ট ডিসপ্লে করা হয়। দুটোর কাজ একই। এটি স্টেটমেন্ট আউটপুট তৈরি করে এইচটিএমএল আকারে ব্যবহারকারীর ব্রাউজারে প্রেরণ করলে ব্রাউজার তার আউটপুট দেখায়। এই বইতে আমরা echo স্টেটমেন্ট ব্যবহার করেছি। ইকো স্টেটমেন্ট ব্যবহারের সাধারণ ফরম্যাট হলো-

echo outputitem, outputitem, outputitem,...;
  • একটি আউটপুট আইটেম নাম্বার, স্ট্রিং অথবা ভ্যারিয়েবল হতে পারে। একটি স্ট্রিং অবশ্যই ডাবল কোটেশনের মধ্যে আবদ্ধ রাখতে হবে।
  • একাধিক আউটপুট আইটেমের ক্ষেত্রে প্রত্যেকটি একেকটি কমা দিয়ে আলাদা করতে হবে।

কয়েকটি ইকো স্টেটমেন্ট-

echo “Hello”; Hello
echo 123; 123
echo “Hello”,”World!”; HelloWorld!
echo Hello World!; Not valid; results in an error message

স্টেটমেন্টগুলোর আউটপুট-

echo “Hello World!”; Hello World!

echo ‘Hello World!’; Hello World!

ভ্যারিয়েবলের ব্যবহার

পিএইচপিতে ইনফরমেশন বা তথ্য ধরে রাখার জন্য ভ্যারিয়েবল (variable) ব্যবহার করা হয়। প্রতিটি ভ্যারিয়েবলের একটি নাম থাকে এবং ইনফরমেশন যা ভ্যারিয়েবলে সংরক্ষিত থাকে। উদাহরণস্বরূপ $age একটি ভ্যারিয়েবলের নাম এবং 12 একটি নাম্বার যা এর মধ্যে সংরক্ষণ করে। সংরক্ষণকৃত ডাটা বা ইনফরমেশনটি স্ক্রিপ্টের যে কোন জায়গায় ব্যবহার করা যায়। ভ্যারিয়েবলের একটি সাধারণ ব্যবহার হলো এইচটিএমএল ফরমের মধ্যে ব্যবহারকারী যে ডাটা প্রেরণ করে তা ধারণ করা।

ভ্যারিয়েবল নামকরণ

ভ্যারিয়েবল নামকরণ করার ক্ষেত্রে নিচের নিয়মগুলো মনে রাখতে হবে-

  • আইডেন্টিফায়ার (Identifier): ভ্যারিয়েবল নামের প্রথমে একটি $ (ডলার) চিহ্ন থাকে। এটা পিএইচপিকে বলে দেয় এটা একটা ভ্যারিয়েবলের নাম।
  • নামের শুরুঃ ভ্যারিয়েবলের নাম অবশ্যই বর্ণ বা _ (আন্ডারস্কোর) দিয়ে শুরু হতে হবে। সংখ্যা দিয়ে ভ্যারিয়েবলের নাম শুরু হতে পারে না।
  • নামের দৈর্ঘ্যঃ ভ্যারিয়েবলের নাম যে কোন দৈর্ঘ্যের অর্থাৎ যে কোন পরিমান লম্বা, যতগুলো প্রয়োজন ক্যারেক্টার ব্যবহার করা যাবে।
  • ক্যারেক্টার গ্রহণযোগ্যতাঃ ভ্যারিয়েবলের নামে বর্ণ, সংখ্যা ও আন্ডারস্কোর ব্যবহার করা যাবে।
  • কেস সংবেদনশীলতা (Case sensitivity): ভ্যারিয়েবল নাম অবশ্যই কেস সংবেদনশীল। তাই আপার কেস ও লোয়ার কেস এক নয়। যেমন- $firstname, $Firstname, $firstName এক নয়। যদি আমরা $firstName নামের ভ্যারিয়েবলে কোন তথ্য রাখি, তাহলে সেই তথ্য $firstname দিয়ে এক্সেস করা যাবে না।

তবে পিএইচপির সব কী-ওয়ার্ড (if, else, while, echo…), ক্লাস, ফাংশন এবং ইউজার ডিফাইন্ড ফাংশন কেস সংবেদনশীলতার আওতার বাইরে। যেমন- ECHO, echo, EcHo সবই এক।

ভ্যারিয়েবল নাম করার ক্ষেত্রে সব সময় মনে রাখতে হবে যেন নামটি অবশ্যই স্পষ্ট ও সংশ্লিষ্ট হয়। যদিও এ বিষয়ে পিএইচপির কোন মাথা ব্যাথা নেই যে ভ্যারিয়েবল নাম কি দিলাম না দিলাম। নাম দেখেই যেন একজন প্রোগ্রামার সহজে বুঝতে পারে যে কোন ভ্যারিয়েবলটি কোথায়, কিভাবে, কেন ব্যবহার করা হয়েছে। যেমন- ভ্যারিয়েবলের নামকরণ $var1, $var2, $A এভাবে না করে $firstName, $age,  $orderTotal এভাবে করতে পারি। যা অনেক সহজবোধ্য ও সংশ্লিষ্ট।

ভ্যারিয়েবলে ভ্যালু এসাইন করা

ভ্যারিয়েবল সংখ্যা ও স্ট্রিং (string) ধারণ করতে পারে। = (সমান) চিহ্নের মাধ্যমে ভ্যারিয়েবলে তথ্য রাখা হয়। নিচের উদাহরণগুলোতে ভ্যারিয়েবলে ভ্যালু এসাইন করা হয়েছে-

$age = 12;
$price = 2.55;
$number = -2;
$name = “Little Bo Peep”;

লক্ষ্য করলে দেখা যাবে, শুধু ক্যারেক্টার স্ট্রিংটি কোটেশনের মধ্যে আবদ্ধ করা হয়েছে। কিন্তু সংখ্যাগুলো কোটেশন ছাড়াই স্বতন্ত্রভাবে ব্যবহার করা হয়েছে। ডাটা টাইপে পার্থক্য থাকার কারণে এমনটি করা হয়েছে। পরবর্তীতে ডাটা টাইপ সেকশনে আমরা এ বিষয়ে বিস্তারিত আলোচনা করব। যখন একটা ভ্যারিয়েবলের নামকরণ করি এবং এতে ভ্যালু এসাইন করি বা তথ্য রাখি তখন আমরা একটি সম্পূর্ণ ভ্যারিয়েবল তৈরি করলাম। যেমন-

$firstname = “George”;

উপরের স্টেটমেন্টে firstname হলো ভ্যারিয়েবলের নাম, $ চিহ্ন হচ্ছে আইডেন্টিফায়ার, (সমান) চিহ্ন হলো এসাইনমেন্ট অপারেটর এবং “ ” এর মধ্যে ক্যারেক্টার স্ট্রিং ভ্যালুটি রাখা হয়েছে।

ইচ্ছা করলে ভ্যারিয়েবল থেকে তথ্য অপসারণও করা যায়। উদাহরণ স্বরুপ- $age = “”; একটি ভ্যারিয়েবল, কিন্তু এতে কোন ভ্যালু ধারণ করে না। এর মানে এই নয় যে এর মান 0। কারণ 0 জিরো একটি ভ্যালু। অর্থ্যাৎ এটি কোন তথ্য ধারণ করে না। এটি একটি স্ট্রিং ধারণ করে যার দৈর্ঘ্য 0।

ডাইনামিক ভ্যারিয়েবল

পিএইচপি ডাইনামিক ভ্যারিয়েবল ব্যবহার করার সুযোগ দিয়ে থাকে। অন্য একটি ভ্যারিয়েবলে রাখা ভ্যালুর নামকরণ করতে পারেন। যার নাম ডাইনামিক ভ্যারিয়েবল। সেটা হলো একটা ভ্যারিয়েবল অন্য একটি ভ্যারিয়েবলের নামকে ধারণ করে। উদাহরণ স্বরুপ- আপনি $city নামে একটি ভ্যারিয়েবলের নাম করলেন যার ভ্যালু Dhaka। তাহলে স্টেটমেন্টটি দাঁড়ায়-

$name_of_the_variable = “city”;

এই স্টেটমেন্টটি একটি ভ্যারিয়েবল তৈরি করে যা আপনি একটি ভ্যারিয়েবলে দিবেন তা ধারণ করে। তখন আপনি নিচের স্টেটমেন্টটি ব্যবহার করুন-

$$name_of_the_variable - “Dhaka”;

শুরুতেই অতিরিক্ত $ চিহ্নটি ডাইনামিক ভ্যারিয়েবল নির্দেশ করে। এই স্টেটমেন্টটি একটি নতুন ভ্যারিয়েবল তৈরি করে $name_of_the_variable ভ্যালুতে রাখা নামে, যার ফলাফল নিম্নরূপ-

$city = “Dhaka”;

নিচের উদাহরণটিতে বিষয়টি আরো স্পষ্ট হবে। ধরা যাক, আমরা একটি ভ্যারিয়েবলের সিরিজ তৈরি করতে চাই যা বিভিন্ন শহরের শহরের নামে ভ্যালু হিসেবে তার জনসংখ্যাকে এসাইন করবে।

$Dhaka = 14543124;
$Chittagong = 138000;
$cityname = “Dhaka”;
echo “The size of $cityname is ${$cityname}”;
$cityname = “Chittagong”;
echo “The size of $cityname is ${$cityname}”;

উপরের কোডটি নিচের মতো করে আউটপুট প্রদর্শন করে-

The size of Dhaka is 14543124
The size of Chittagong is 138000

ভ্যারিয়েবলে ভ্যালু ডিসপ্লে করা

নিচের যে কোন একটি স্টেটমেন্ট ব্যবহার করে ভ্যারিয়েবলের ভ্যালু ডিসপ্লে করা যায়।

  • echo
  • print
  • print_r
  • var_dump

এগুলোর মধ্যে সাধারণত পিএইচপি প্রোগ্রামাররা ইকো স্টেটমেন্টটি বেশি ব্যবহার করে থাকেন।

ভ্যারিয়েবলের ইকো এবং প্রিন্ট স্টেটমেন্টের ব্যবহার

একটি ভ্যারিয়েবলের ভ্যালু ইকো অথবা প্রিন্ট স্টেটমেন্টের মাধ্যমে আমরা ওয়েব পেজে প্রদর্শন করতে পারি। উদাহরণস্বরূপ, $age ভ্যারিয়েবলে মান হিসেবে 12 রাখি তাহলে ইকো করলে নিচের মতো আউটপুট দেখতে পাব-

echo $age;

পুরো স্টেটমেন্টটি এইচটিএমএল আকারে সাজালে নিচের আউটপুটটি দেখা যাবে-

<p>Your age is <?php echo $age ?>.</p>

Your age is 12.

একটি টেবিলে কতগুলো ইকো স্টেটমেন্টের সাথে আউটপুট দেখানো হলো-

ইকো স্টেটমেন্টআউটপুট
echo $string1;Hello
echo $string1,$string2;HelloWorld!
echo “$string1 $string2”;Hello World!
echo “Hello “,$string2;Hello World!
echo “Hello”,” “,$string2;Hello World!
echo ‘$string1’,”$string2”;$string1World!
  • সিঙ্গেল কোটেশন (‘ ’): সরাসরি ভ্যারিয়েবলের নাম ইকো করার ক্ষেত্রে সিঙ্গেল কোটেশন ব্যবহার করা হয়।
  • ডাবল কোটেশন (“ ”): ভ্যারিয়েবলের নাম দিয়ে তার ভ্যালু প্রতিস্থাপন করার ক্ষেত্রে ডাবল কোটেশন ব্যবহার করা হয়।

মাঝেমধ্যে ভ্যারিয়েবলকে সেকেন্ড ব্র্যাকেট দিয়ে আবদ্ধ করে রাখতে দেখা যায়। একটি ইকো স্টেটমেন্টে স্ট্রিং সেকেন্ড ব্র্যাকেটের মাঝে ভ্যারিয়েবলের মানকে বসিয়ে দেয়। যেমন- নিচের স্টেটমেন্টটিতে $pet ভ্যারিয়েবলটি সেকেন্ড ব্র্যাকেট দিয়ে না আটকানোয় ভ্যারিয়েবলের মানটি প্রতিস্থাপিত হয়নি।

$pet = “bird”;
echo “The $pet cage has arrived.”;

যার আউটপুট হবে The $pet cage has arrived। অর্থ্যাৎ $pet এর মান প্রতিস্থাপিত হয়নি।

স্টেটমেন্টটি নিচের মতো করে লিখলে সঠিক আউটপুটটি দেখাবে-

$pet = “bird”;
echo “The {$pet}cage has arrived.”;

The birdcage has arrived.

ভ্যারিয়েবলের ভ্যালু ধারণ করার ক্ষমতা

একটি ভ্যারিয়েবলে ধারণকৃত তথ্য সম্পূর্ণ স্ক্রিপ্টে ব্যবহার করা যায়। এটি শুধুমাত্র নির্দিষ্ট পিএইচপি সেকশনের জন্য নয়। যদি একটি ফাইল বা স্ক্রিপ্টের শুরুতে একটি ভ্যারিয়েবলের ভ্যালু 21 দেয়া হয়, স্ক্রিপ্টের শেষ পর্যন্ত ভ্যারিয়েবলটি 21 মানই ধারণ করবে। যেমন-

<p>Hello World!</p>
<?php
$age = 15;
$name = “Ravin”;
?>
<p>Hello World again!</p>
<?php
echo $name;
?>

ভ্যারিয়েবলটি স্ক্রিপ্টটির দ্বিতীয় সেকশনে ইকো করা হয়েছে। অর্থাৎ মানের কোন পরিবর্তন হয়নি। উপরের স্ক্রিপ্টটি নিচের মতো আউটপুট দেখাবে-

Hello World!

Hello World again!

Ravin

কনস্ট্যান্ট এর ব্যবহার

পিএইচপি কনস্ট্যান্ট (constant), পিএইচপির ভ্যারিয়েবল এর মতোই কাজ করে। কনস্ট্যান্টের একটি নাম থাকে যার মধ্যে ভ্যালু এসাইন করা হয়। কনস্ট্যান্ট কনস্ট্যান্টই অর্থ্যাৎ নির্দিষ্ট, ধ্রুব। স্ক্রিপ্টে কখনো পরিবর্তন হবে না। কনস্ট্যান্টে ভ্যালু সেট করলে এটি সব সময় অপরিবর্তিত থাকে। যদি আমরা age একটি কনস্ট্যান্ট নিয়ে ভ্যালু নির্ধারণ করি তাহলে সেই ভ্যালুটি সবসময়ের জন্য একই থাকবে।

স্ক্রিপ্টের যে কোন জায়গায় কনস্ট্যান্ট ভ্যালু ব্যবহার করা যায় এবং সম্পূর্ণ স্ক্রিপ্টে ভ্যালুটি অপরিবর্তিত থাকে। স্ক্রিপ্টের শুরুতে ভ্যালুটি কনস্ট্যান্টে রাখা হয়। আসলে কনস্ট্যান্ট ব্যবহারের মাধ্যমে নিশ্চিত হওয়া যায় ভ্যালুটি দুর্ঘটনা বশতও পরিবর্তন হয়নি। উদাহরনস্বরূপ- একটি কনস্ট্যান্টে কোন একটি প্রতিষ্ঠানের নাম এবং অপর একটিতে প্রতিষ্ঠানটির ঠিকানা রাখা হল। কিছুদিন পর প্রতিষ্ঠানটি অন্যত্র স্থানান্তর হলে প্রতিষ্ঠানটির ঠিকানার পরিবর্তন করার প্রয়োজন হবে। তাই যে কনস্ট্যান্টে ঠিকানাটি রাখা হয়েছিল শুধু সেখানে পরিবর্তন করলেই পুরো স্ক্রিপ্টের যেখানে যেখানে ঠিকানাটি ইকো করা হয়েছে সবখানেই পরিবর্তিত ঠিকানাটি বসে যাবে। define স্টেটমেন্ট ব্যবহার করে কনস্ট্যান্ট সেট করা হয়। কনস্ট্যান্টের ফরম্যাটটি হলো-

define(“constantname”, “constantvalue”);

উদাহরণস্বরূপ নিচের স্টেটমেন্টটিতে কনস্ট্যান্ট ডিফাইন করা হয়েছে-

define(“COMPANY”,“Tiltony.com”);

এখন স্ক্রিপ্টের প্রয়োজনে যেকোন জায়গায় COMPANY ইকো করলে Tiltony.com ডিসপ্লে হবে।

ভ্যারিয়েবলের মতোই কনস্ট্যান্টের নাম থাকে। কনস্ট্যান্ট নাম সাধারণত আপার কেজে লেখা হয়। এক্ষেত্রে পিএইচপির কোন বাধাধরা নিয়ম বা মাথা ব্যাথা নেই। কনস্ট্যান্ট নাম আপারকেজ বা লোয়ারকেজ, পিএইচপির জন্য সবই সমান। স্ক্রিপ্টটি দেখে একজন প্রোগ্রামার যেন সহজে বুঝতে পারে এটি একটি কনস্ট্যান্ট সেজন্যই সাধারণত নামটি আপারকেজে লেখা হয়। কনস্ট্যান্টের ভ্যালু স্ট্রিং এবং নাম্বার দুটোই ব্যবহার করা যায়।

ডাটা টাইপ

ভ্যারিয়েবল অথবা কনস্ট্যান্টে যে ভ্যালু বা তথ্য সংরক্ষণ করি পিএইচপি প্রত্যেকটি ভ্যালুকে একটি সুনির্দিষ্ট ডাটা টাইপ বা নির্দিষ্ট ধরনের ডাটা হিসেবে ধারণ করে। পিএইচপিতে মোট আট ধরণের ডাটা টাইপ রয়েছেঃ

  1. ইন্টেজার (integer)
  2. ফ্লোটিং পয়েন্ট নাম্বার বা ফ্লোট (float)
  3. স্ট্রিং (string)
  4. বুলিয়ান (boolean)
  5. এ্যারে (array)
  6. অবজেক্ট (object)
  7. নাল (null)
  8. রিসোর্স (resource)

এই ধরণের ডাটা নিয়ে কাজ করার সময় কিছু বিষয় মনে রাখতে হবে-

  • পিএইচপি নিজে থেকে কোনটি কোন ধরণের ডাটা তা বুঝতে পারে। পিএইচপি স্ক্রিপ্টে কোন ধরণের ডাটা সংরক্ষণ করা হয়েছে তা বলে দেয়ার প্রয়োজন হয় না। যেমন-
$var1 = 123;
$var2 = “123”;

দুটি ভ্যারিয়েবলে দুই ধরনের ডাটা রাখা হয়েছে। প্রথমটি ইন্টেজার এবং দ্বিতীয়টিতে ডাবল কোটেশন থাকায় পিএইচপি স্বয়ংস্ক্রিয়ভাবেই স্ট্রিং হিসেবে নিয়েছে।

  • পিএইচপি প্রয়োজনে এক টাইপের ডাটাকে অন্য টাইপের ডাটায় রূপান্তর করে থাকে। যেমন- আমরা যদি দুইটি ভ্যারিয়েবলকে যোগ করতে চাই, যার একটি ইন্টেজার ও অন্যটি ফ্লোট। যোগ করার সময় পিএইচপি ইন্টেজারটিতে ফ্লোটে রূপান্তর করে তারপর যোগ করে ফলাফল আউটপুট দেখায়।
  • পিএইচপিতে কোয়েরি (query) করেও ডাটা টাইপ সম্বন্ধে জানা যায়। কোন ভ্যারিয়েবলে কোন ধরনের ডাটা সংরক্ষণ করা হয়েছে তা var_dump() স্টেটমেন্টের মাধ্যমে জানা যায়। নিচের স্টেটমেন্টটি  দেখুন-
var_dump($var4);

যার আউটপুট হবে নিচের মতো-

int(222)

ইন্টেজার এবং ফ্লোট নাম্বার

ইন্টেজার হলো পূর্ণ সংখ্যা যেমন- ১, ১০,৩৩৩ ইত্যাদি। ফ্লোট নাম্বারকে বাস্তব সংখ্যাও বলা হয়। যার দশমিক মান রয়েছে। যেমন- ৩.৭৬, ৯৯.৯৯ ইত্যাদি। পিএইচপি নিজে নিজেই কোনটি ইন্টেজার বা ফ্লোট তা চিনে নিতে পারে।

পিএইচপিতে নিউমেরিক ডাটা নিয়ে গাণিতিক কাজ

পিএইচপিতে নিউমেরিক ডাটা নিয়ে গাণিতিক কাজ করার সুযোগ রয়েছে। গাণিতিক অপারেটর ব্যবহার করে পিএইচপিতে গাণিতিক কাজগুলো করা হয়। যেমন- + (যোগ) চিহ্নটি একটি অপারেটর। এই অপারেটর ব্যবহার করে যোগ করার একটি উদাহরণ দেয়া হলো-

$n1 = 1.5;
$n2 = 2;
$sum = $n1 + $n2;

উদাহরণটিতে প্রথম ভ্যারিয়েবলটি একটি ফ্লোট নাম্বার এবং দ্বিতীয়টি ইন্টেজার। পিএইচপি যোগ করার সময় দ্বিতীয় ভ্যারিয়েবলের মানটিকে ফ্লোটে রূপান্তরিত করে যোগ করে থাকে।

Related Articles

Stay Connected

0FansLike
3,606FollowersFollow
0SubscribersSubscribe
- Advertisement -spot_img

Latest Articles