ডাইনামিক ওয়েব সাইট তৈরির ক্ষেত্রে স্ক্রিপ্টিং ল্যাঙ্গুয়েজ গুলোর মধ্যে সর্বাধিক পরিচিত এবং জনপ্রিয় ওপেন সোর্স ল্যাঙ্গুয়েজ হচ্ছে PHP । একজন দক্ষ ওয়েব ডেভলপার হওয়ার জন্য PHP শেখার কোনো বিকল্প নেই। ডাটাবেজ নির্ভর ওয়েব সাইট তৈরির ক্ষেত্রে PHP এর সাথে ডাটাবেজ হিসেবে MySql এর ওপেন সোর্স  প্রতিদ্বন্দ্বী কেউ নেই। আমরা প্রজেক্ট ভিত্তিক উপস্থাপনার মাধ্যমে বিষয় গুলো আয়ত্ব করার মাধ্যমে দক্ষতা বৃদ্ধির চেষ্টা করব।

……………………………………………………………………

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

একটি ভেরিয়েবলের মানকে  অপর ভেরিয়েবল নাম হিসেবে ব্যবহারের পদ্ধতি

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

<?php

$c = “Country”;

$$c = “Welcome to Bangladesh.”;

echo $$c;

echo $Country;

?>

উপরের স্কিপ্টে প্রথমে একটা Variable $c এর স্ট্রিং টাইপ মান দেয়া হয়েছে Country। পরবর্তীতে $$c অপর একটা বিশেষ ধরণের ভেরিয়েবল যাকে ডাইনামিক ভেরিয়েবল বলা হয় এর  স্ট্রিং টাইপ মান দেয়া হয়েছে Welcome to Bangladesh. । প্রকৃত পক্ষে $$c দ্বারা $Country  প্রকাশ পায়। echo $$c; এবং echo $Country; এর মাধ্যমে ব্রাউজারে দেখলে উভয়ই Welcome to Bangladesh. প্রদর্শণ করবে।

ভেরিয়েবলের মান নির্ধারণ প্রক্রিয়া সম্পর্কে বিস্তারিত আলোচনা

একটা উদাহরণ দেখা যাক

<?php

$a = 10;

$b = $a;

$c = $b*5;  // 10*5=50

echo $c;   //output 50

$a = 20;

$c = $b*5;

echo $c;   //output 50

?>

উপরের উদাহরণটিতে $a ভেরিয়েবলের মান 10 দেয়া হয়েছে। এরপর অপর একটি ভেরিয়েবল $b তে $a এর মান এসাইন করা হয়েছ । এরপর $b এর সাথে 5 গুণ করে অপর একটি ভেরিয়েবল $c তে এসাইন করা হয়েছ। স্বাভাবিক ভাবেই echo দ্বারা $c প্রদর্শন করলে ব্রাউজারে 50 পাওয়া যাবে, কারণ $b=$a=10 আর 10*5=50।

এর পর $a ভেরিয়েবলের নতুন মান 20 দেয়া হয়েছে। আবার $b এর সাথে 5 গুণ করে অপর একটি ভেরিয়েবল $c তে এসাইন করা হয়েছ। আপাত দৃষ্টিতে $b=$a=20 আর 20*5=100 অর্থাৎ echo দ্বারা $c প্রদর্শন করলে ব্রাউজারে 100 পাওয়ার কথা কিন্তু এটি পূর্বের মান 50 ই প্রদর্শন করে । অর্থাৎ $b=$a হলেও  পরবর্তীতে $a এর পরিবর্তনে $b পরিবর্তিত হচ্ছে না।

অপর একটি উদাহরণ দেখা যাক

<?php

$a = 10;

$b = &$a;

$c = $b*5;  // 10*5=50

echo $c;   //output 50

$a = 20;

$c = $b*5;

echo $c;   //output 100

?>

এই স্ক্রিপ্টটুকু সম্পূর্ণ আগের মতই শুধু পার্থক্য $b=$a এর স্থানে $b = &$a; লেখা হয়েছে। অর্থাৎ একটা অতিরিক্ত (&)চিহ্ন যুক্ত করা হয়েছে। এখন কিন্তু সর্বশেষ echo দ্বারা $c প্রদর্শন করলে ব্রাউজারে 100 পাওয়া যাবে অর্থাৎ এখন $a এর পরিবর্তনে $b পরিবর্তিত হচ্ছে।

প্রজেক্ট অনুশীলন

<html>

<head>

<title>Variable</title>

</head>

<body>

<?php

$c = “Country”;

$$c = “Welcome to Bangladesh.”;

echo $$c;

echo “<br />”;

echo $Country;

echo “<br />”;

?>

<?php

$a = 10;

$b = $a;

$c = $b*5;

echo $c;   // 10*5=50

echo “<br />”;

$a = 20;

$c = $b*5;

echo $c;

echo “<br />”;

?>

<?php

$a = 10;

$b = &$a;

$c = $b*5;

echo $c;   // 10*5=50

echo “<br />”;

$a = 20;

$c = $b*5;

echo $c;

echo “<br />”;

?>

</body>

</html>

উপরের কোড টুকুকে একটা notepad এ লিখে File মেনু থেকে Save as এ ক্লিক করে File name হিসেবে variable.php দিয়ে Save as type হিসেবে All files সিলেক্ট করে এরপর Save বাটনে ক্লিক করে Save করুন।

অবশ্যই variable3.php ফাইলটিকে ব্রাউজারে প্রদর্শন করার জন্য C:\xampp\htdocs অর্থাৎ htdocs ফোল্ডারের মধ্যে রাখতে হবে। সুবিধার্থে htdocs ফোল্ডারটিকে Shortcut করে Desktop এ রেখে দিতে পারেন। অবশ্যই xampp অর্থাৎ Apachi সার্ভার Running অবস্থায় রাখতে হবে।

ফাইলটি ব্রাউজারে দেখানোর জন্য এড্রেস বারে লিখুন http://localhost/variable3.php

তাহলে ব্রাউজারে নিচের ছবির মত দেখা যাবে

প্রজেক্ট বিশ্লেষণ

$c = “Country”; এর মাধ্যমে Variable $c এর স্ট্রিং টাইপ মান দেয়া হয়েছে।

$$c = “Welcome to Bangladesh.”; Variable এর নাম অপর একটা ভেরিয়েবল থেকে নেয়া হয়েছে।

$b = $a; ভেরিয়েবল $b তে $a এর মান এসাইন করা হয়েছ । এক্ষেত্রে পরবর্তীতে $a এর মানের পরিবর্তনে $b এর মানের কোন পরিবর্তন হবে না।

$b = &$a; এর $b তে $a এর রেফারেন্স মান এসাইন করা হয়েছ। এক্ষেত্রে পরবর্তীতে $a এর মানের পরিবর্তনে $b এর মানের পরিবর্তন হবে।

………………………………………………………………………………..

এখানেই শেষ করছি। সকলের জন্য শুভকামনা রইল ।

comments

5 কমেন্টস

  1. এক কথায় সুপার্ব পোষ্ট। সত্যি বললে বলতে হয়, আমি গত ১.৫ বছর থেকে ওয়েব ডিজাইন ভালভাবে শিখার জন্য উঠে পড়ে লাগছি। এর আগে থেকেই এইচটিএমএল ও সিএসএস সম্পর্কে ভালই জ্ঞান ইছে আমার। কিন্তু, গত ১.৫ বছর থেকে যখন টাকা দিয়ে অন্যের কাছে শিখতেছিলাম তখনও এত তথ্যপূর্ণ/ বিস্তারিত ভাবে শিখায় নাই। হয়তো ভাগ্যটাই খারাপ। ভাল করে শিখালে এতদিনে অন্ত্যত পিএইচপি সম্পর্কে একটা ভাল জ্ঞান থাকতো। কিন্তু তা আর হয় না।

    যাক, আপনার মাধ্যমে যা শিখছি সত্যি অনেক মূল্যবান !!!! পরবর্তী পোষ্টের অপেক্ষায় থাকলাম। 🙂

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

  2. “এর পর $a ভেরিয়েবলের নতুন মান 20 দেয়া হয়েছে। আবার $b এর সাথে 5 গুণ করে অপর একটি ভেরিয়েবল $c তে এসাইন করা হয়েছ। আপাত দৃষ্টিতে $b=$a=20 আর 20*5=100 অর্থাৎ echo দ্বারা $c প্রদর্শন করলে ব্রাউজারে 100 পাওয়ার কথা কিন্তু এটি পূর্বের মান 50 ই প্রদর্শন করে । অর্থাৎ $b=$a হলেও পরবর্তীতে $a এর পরিবর্তনে $b পরিবর্তিত হচ্ছে না।”

    কিন্ত আমার ব্রাওজার এ ১০০ এ দেখাচ্ছে ।

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Time limit is exhausted. Please reload the CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.