পূর্বের আলোচনায় আমরা পিএইচপি এর সংক্ষিপ্ত ইতিহাস এবং ইনস্টলেশন ও কনফিগারেশন দেখেছি। এখন আমরা পিএইচপিতে প্রোগ্রামিং শুরু করতে যাচ্ছি।
ডিলিমিটার বা পিএইচপি সীমানা নির্ধারন
পিএইচপি-র বড় সুবিধা হল আপনি যেকোন এইচটিএমএল পেজের ভিতরেই পিএইচপি কোড লিখতে পারেন। কোডগুলির সাহায্যে কাজ সম্পাদনের জন্য পেজটিকে পিএইচপি ইঞ্জিনের অভ্যন্তরে পাঠাতে হবে পঠন বা ইন্টারপ্রেটেশন করতে। প্রতিটি লাইনকে পিএইচপি লাইন হিসেবে বিবেচনা করা ইন্টারপ্রেটারের জন্য শক্তি অপচয় তাই পিএইচপি ইঞ্জিনের জন্য কোন একটি উপায়ে নির্ধারন করা প্রয়োজন একটি পেজের কোন অংশে পিএইচপি কোড রয়েছে। এটি করার জন্য পিএইচপি কোডের জন্য একটি সীমানা নির্ধারন করে দেয়া হয়।
সীমানা নির্ধারনের/ডিলিমিটের পদ্ধতিগুলি আমরা এখন আলোচনা করবো-
<?php
Welcome!
print "Every age has a language of its own ";?>
PHP First Program
উপরের অংশটুকু যেকোন টেক্সট এডিটরে লিখে test.php নামে সেভ করুন আপনার ওয়েব সার্ভারের ফোল্ডারে। লিনাক্সে করুন /var/www/your_folder/
এবং উইন্ডোজে G:\xampplite\htdocs\your_folder\ পাথে।
এবার ব্রাউজারের এড্রেসবারে লিখুন- http://localhost/your_folder/test.php
উপরের কোডে অংশে পিইএইচপি কোড লেখা হয়েছে। এ অংশটুকুই কেবল পিএইচপি ইঞ্জিন ইন্টারপ্রেট করবে।
বাকী পদ্ধতিগুলি হচ্ছে-
print "This is another PHP example.";
?>
উপরের যেকোন একটি পদ্ধতিতে পিইএইচপি কোডের সীমা নির্ধারন করা যায় অর্থাৎ পিএইচপিতে কোড লেখার জন্য এভাবে ইন্টারপ্রেটারকে নির্দেশ দিতে হবে। যদি এর কোন একটি দিয়ে পিএইচপি কোডের সীমানা নির্ধারন না করা হয় তবে কোডগুলিকে সাধারন এইচটিএমএল এর মত বিবেচনা করবে ওয়েব সার্ভার বা পিএইচপি ইন্টারপ্রেটার ইঞ্জিন।
উপরোক্ত পদ্ধতিগুলির মধ্যে প্রথম নিয়মটি অনুসরন করা ভাল।
আপনি এভাবে একটি পেজে যতখুশি ততবার পিএইচপি ডিলিমিটার /সীমানা নির্ধারক ব্যবহার করতে পারেন।
<?php echo "Welcome to my site!";?>
$date = "May 11, 2011";
?>
Today's date is
কমেন্টস বা মন্তব্য
আপনার নিজের সুবিধার জন্যই হোক বা ভবিষ্যতে আপনার লেখা কোড মেইনটেইনকারী প্রোগ্রামার এর জন্যই হোক, আপনার কোডের অভ্যন্তরে মন্তব্য বা কমেন্টস অর্ন্তভুক্ত করার প্রয়োজনীয়তা অপরিহার্য। পিএইচপিতে বেশ কয়েক ধরনের কমেন্টস প্রদানের সিনট্যাক্স সাপোর্ট রয়েছে। এখন আমরা সেগুলি নিয়ে আলোচনা করবো।
//Title: This is Hello Program
//Author: Your name
print “Hello World!”;
?>
উপরে // দিয়ে শুরু করা লাইন দুটি হচ্ছে কমেন্টস। এটিকে সিঙ্গেল লাইন কমেন্টস বলা হয়। // চিহ্ন দিয়ে শুরু করা লাইনগুলি পিএইচপি ইঞ্জিন মন্তব্য হিসেবে ধরে নেবে ও কোন ফলাফল দেবে না। এভাবে আমরা কোডের ভিতর কোন কিছু মন্তব্য হিসেবে লিখে রাখতে পারি যাতে তা রেফারেন্স হিসেবে ভবিষ্যতে ব্যবহার করা যায়। মনে রাখবেন কমেন্টস প্রোগ্রামার এর সুবিধার জন্য লেখা হয়, এটি মূল প্রোগ্রামের জন্য কোন ইনস্ট্রাকশন নয়।
#Title: This is Hello Program
#Author: Your name
print “Hello World!”;
?>
উপরে শেল স্টাইলের/সি++ সিনট্যাক্স দেখানো হয়েছে। # চিহ্নের মাধ্যমে ও কমেন্টস লেখা যায় পিএইচপিতে ।
/*Title: This is Hello Program
Author: Your name
Date: 11 March, 2011
*/
print “Hello World!”;
?>
একাধিক লাইন ব্যাপী কমেন্টস লেখার জন্য সি-স্টাইলের মাল্টিপল লাইন সিন্ট্যাক্স ব্যবহার করা হয়। এতে সময় ও শ্রম উভয়ই বাঁচে বড়সড় কমেন্টস লেখার সময়। যেমন উপরে /* ও */ অংশের মধ্যে যে অংশ লেখা হবে তার সবটাই কমেন্টস বা মন্তব্য হিসেবে বিবেচিত হবে।
আউটপুট বা ফলাফল প্রদর্শন
অধিকাংশ ওয়েব এপ্লিকেশন ব্যবহারকারীকে ফলাফল প্রদর্শন করে থাকে। সুলিখিত কোড/স্ক্রিপ্টসমূহ ব্যবহারকারীদের সাথে ইন্টারফেস এবং রিকোয়েস্ট রেসপন্স এর মাধ্যমে সর্বদা যোগাযোগ করে থাকে। পিএইচপিতে বেশ কয়েকটি উপায়ে তথ্য প্রদর্শন করা যায় যা আমরা এখন দেখব-
print()
boolean print (argument)
print স্টেটমেন্ট এর সাহায্যে ব্যবহারকারীকে তথ্য প্রদর্শন করা যায় এবং এটি সরাসরি স্ট্রিং অথবা ভেরিয়েবল উভয়ই প্রদর্শন করতে সক্ষম। নিচে আমরা এর কয়েকটি ব্যবহার দেখব।
print(“ I love computer programming.
”);
?>
$hobby = “computer programming”;
print(“
I love computer $hobby
”);
?>
print(“ I love
computer programming.
”);
?>
$hobby = “computer programming”;
print(“
I love “ . $hobby . “
”);
?>
উপরের প্রত্যেকটি প্রোগ্রামে একই আউটপুট বা ফলাফল পাওয়া যাবে। এভাবে আপনি নিজে নিজে ও বিভিন্ন উদাহরন তৈরী করে অনুশীলন করতে পারেন।
সর্বশেষ উদাহরনটি একটু জটিল মনে হতে পারে। এখানে আসলে তিনটি ভিন্ন ভিন্ন স্ট্রিংকে (বাক্য/লেখাকে) পিরিয়ড বা ডট অপারেটর দিয়ে যুক্ত করা হয়েছে।
echo()
void echo (string argument1 [, ....string argumentN])
দুটি পার্থক্য ছাড়া echo স্টেটমেন্ট উপরের print এর মতই কাজ করে থাকে। প্রথমতঃ এটি কোন জটিল কাজে ব্যবহার করা যায় না কারন এটি void রিটার্ন করে অন্যদিকে print() একটি বুলিয়ান ভ্যালু রিটার্ন করে থাকে। দ্বিতীয়তঃ echo() একাধিক স্ট্রিংকে প্রদর্শন করতে সক্ষম। অবশ্য print() এর ক্ষেত্রে ডট বা পিরিয়ড অপারেটর ব্যবহার করে একই কাজ উপরে আমরা করে দেখিয়েছি তবে echo() একটু বেশী সুবিধা দেয়। নিচে একটি উদাহরন দেখিঃ
$year = “1971”;
$country = “Bangladesh”;
echo $country, “ got freedom in “, $year;
?>
printf()
boolean printf (string format [, mixed args])
printf() ফাংশান print() এর মতই কাজ করে থাকে তবে একটি পার্থক্য হচ্ছে args এর জায়গাতে যে argument সমূহ ব্যবহার করবেন তাকে format অংশের ফরম্যাট অনুযায়ী ফরম্যাট করে প্রদর্শন করবে। format প্যারামিটারের সাহায্যে এলাইনমেন্ট, পজিশন, নাম্বার ফরম্যাটিং ইত্যাদি কাজ করা যায়। যেমনঃ argument সমূহকে %b এর সাহায্যে বাইনারী নাম্বার, %c এর সাহায্যে আসকি মান, %d এর সাহায্যে ডেসিম্যাল নম্বর, %f এর সাহায্যে ফ্লোটিং পয়েন্ট নম্বর হিসেবে দেখানো যায়।
এবার কিছু সহজ উদাহরন দেখি।
printf("$%01.2f", 43.2); // $43.20
printf("%d nokia %s", 100, "mobible"); // 100 nokia mobiles
printf("%15s", "Some text"); // Some text
sprintf()
string sprintf (string format [, mixed arguments])
sprintf() ফাংশানটি printf() ফাংশানের মতই কাজ করে তবে ফলাফলটি স্ট্যান্ডার্ড আউটপুট/মনিটরে প্রদর্শিত না হয়ে একটি স্ট্রিং ভেরিয়েবলে নিয়োজিত করে।
$cost = sprintf("$%01.2f", 43.2); // $cost = $43.20
আজ এ পর্যন্তই পরবর্তীতে আমরা ডেটা টাইপ নিয়ে আলোচনা করবো।