Learn PHP Basic In Bangla Thanks MITHU
পি এইচ পি কোচিং [পর্ব-১] :
ওয়েব ডিজাইনিং এন্ড ডেভেলপমেন্টের জগত অনেক বিশাল ও ব্যাপক। এই জগতেরই একটি অংশ হচ্ছে ওয়েব প্রোগ্রামিং । বিভিন্ন ধরনের ওয়েব প্রোগ্রামিং ল্যংগুয়েজ আছে পৃথিবীতে। তার মধ্যে সবচেয়ে বেশি ও বহুল প্রচলিত ল্যাংগুয়েজ পি এইচ পি।
পি এইচ পি কি ?
সহজ কথায় পি এইচ পি একটি ওয়েব প্রোগ্রামিং ল্যাংগুয়েজ। এটি ওয়েব ডেভেলপমেন্টের একটি গুরুত্বপূর্ণ অংশ। ছিলাম । প্রোগ্রামিং ল্যাংগুয়েজ মূলত দুই প্রকার, ডেস্কটপ প্রোগ্রামিং আর ওয়েব প্রোগ্রামিং ল্যাঙ্গুয়েজ । পি এইচ পি হল ওয়েব প্রোগ্রামিং ল্যাংগুয়েজ।
পি এইচ পি যেকোনো অপারেটিং সিস্টেমে চলে। যেমন উইন্ডোজ, লিনাক্স ইত্যাদি।
পি এইচ পি শেখার জন্য যা যা লাগবেঃ
এপাচি ওয়েব সার্ভারঃ এটি ইন্সটল করলে আপনি নেট ডিসকানেক্টেড থাকা অবস্থায়ও পি এইচ পি তে কাজ করতে পারবেন। অর্থাৎ, এটির মাধ্যমে আপনি অফলাইনে কাজ করতে পারবেন।
Mysql Database: এটি একটি ডাটাবেস। ডাটাবেস হল, আপনি আপনার ওয়েবসাইটে যে সকল কন্টেন্ট যোগ করেন বা যা কিছু লেখেন সবই হল ডাটা আর এসব ডাটার স্টোররুমই হল ডাটাবেস। Mysql তেমনই একটি ডাটাবেস। সব ল্যাংগুয়েজ সব ডাটাবেসে কাজ করে না। পি এইচ পি যে ডাটাবেসে কাজ করে তার নাম Mysql. এছাড়াও Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC এসব ডাটাবেসেও পি এইচ পি কাজ করে।
Mysql ডাটাবেস ও এপাচি ওয়েব সার্ভার একসঙ্গে XAMPP নামের একটি সফটওয়্যারে থাকে। আপনি এই সফটওয়্যারটি ইন্সটল করে আপনার পিসিতে Apache এবং Mysql ডাটাবেস চালু করতে পারেন।
লেটেস্ট ভার্সনের XAMPP ডাউনলোড করুন এখান থেকে।
ডাউনলোডের পরে সাধারণভাবেই ইন্সটল করুন,ইন্সটল করার সময় নিচের মত একটি পেজ আসলে তাতে নিচের মত করে install apache as service এবং install mysql as service চেকবক্সে এ চেক করুন। ফলে apache ও mysql সার্ভিস চালু হবে।
Filezilla সিলেক্ট করতেও পারেন,নাও করতে পারেন।
ইন্সটল করার পর xampp কন্ট্রোল প্যানেল চালু করতে চাইলে তা চালু করেন। ফলে নিচের মত পাবেন।
এই কন্ট্রোল প্যানেলে আপনাকে অবশ্যই apache ও mysql চালু রাখতে হবে কাজ করার জন্য।
প্রোগ্রামিং ল্যাংগুয়েজ নিয়ে কাজ করার পরিবেশ তো তৈরি করলেন। এখন প্রোগ্রাম কোথায় লিখবেন ? চক দিয়ে কোনো কিছু লিখতে গেলে যেমন স্লেট লাগে, প্রোগ্রামিং ল্যাংগুয়েজ লেখার জন্য তো তেমনই একটা সফটওয়্যার দরকার যা লেখার মাধ্যম হিসেবে কাজ করবে। বন্ধুরা, এর জন্যও বিভিন্ন ধরনের সফটওয়্যার আছে। যেমন নেটবিনস(NETBEANS) তেমনই একটি সফটওয়্যার। তবে সফটওয়্যারে কাজ করার আগে প্রাথমিক অবস্থায় নোটপ্যাডে কাজ করা ভাল। এতে পি এইচ পি ভালভাবে রপ্ত করা যাবে। পি এইচ পি তে লেখা যেকোনো প্রোগ্রাম নোটপ্যাডে লিখে তা .php ,phtml এক্সটেনশান দিয়ে সেভ করতে হয়। .phtml এক্সটেনশান দিয়ে সেভ করার কারণ হচ্ছে একটি পিএইচপি স্ক্রীপ্টে সাধারণত পিএইচপি আলাদা অবস্থায় থাকে না,এর সাথে এইচটিএমএল ও থাকে। এ প্রসঙ্গে একটি কথা বলে রাখা ভালো তা হল, যে কোনো ব্রাউজারে যখন কোনো লেখা প্রদর্শিত হয় তা মূলত একটি html স্ক্রীপ্ট,আপনি ঐ স্ক্রীপ্টে যত পি এইচ পি কন্টেন্টই রাখুন না কেন,ব্রাউজারে প্রদর্শনের সময় পুরো পেজটার html হিসেবেই দেখানো হয়।
আসুন একটি প্রোগ্রাম দেখি।
নোটপ্যাড ওপেন করে নিচের কোড গুলো লিখুন
echo "say hello to my little friend";
?>
প্রোগ্রাম থেকে নিশ্চয়ই এটা বুঝতে পারছেন, html ও php এ দুটি একই সাথে একটি স্ক্রীপ্টে কাজ করে।
পি এইচ পি কোচিং : পর্ব-২ :
বন্ধুরা,ওয়েব ডিজাইনিং এবং ডেভেলপমেন্টে ওয়েব প্রোগ্রামিং এর ভূমিকা ব্যাপক ও বিশাল। আর ওয়েব প্রোগ্রামিং এ পি এইচ পি কে সবচেয়ে বহুল জনপ্রিয় ল্যাংগুয়েজ হিসেবে গণ্য করা হয়। সম্পূর্ণ ওপেন সোর্স ল্যাংগুয়েজ এই জনপ্রিয়তার একটি কারণ।
পি এইচ পি কোচিং এর প্রথম পর্বে আমি আলোচনা করেছিলাম, পি এইচ পি কি, পি এইচ পি শিখতে প্রয়োজনীয় সফটওয়্যার সম্পর্কে। সেখানেই আমি বলেছিলাম নেটবিনস সফটওয়্যারের কথা। তবে এ সফটওয়্যারটি ইন্সটল করতে আরেকটি সফটওয়্যারের প্রয়োজন। এটা ডাউনলোড করতে পারেন এখান থেকে।
উপরের সফটওয়্যারটি ইন্সটল করার পরে নেটবিনস ডাউনলোড করার পালা। এর জন্য এখানে ক্লিক করুন।
এবারে পি এইচ পি তে কাজ করার পালা। এর জন্য প্রথমেই আপনাকে এপাচি ওয়েব সার্ভার পিসিতে চালু করতে হবে। সেই সাথে MySQL ডাটাবেসও চালু রাখতে হবে। এপাচি ওয়েব সার্ভার আপনাকে অফলাইনেও নেট কানেক্টেড থাকার মত পরিবেশ সৃষ্টি করবে যার ফলে আপনি পি এইচ পি তে কাজ করতে পারবেন। আর MySQL হল ডাটাবেস যেখানে আপনার তৈরি করা সাইটের ডাটা জমা থাকে। পি এইচ পি MySQL ডাটাবেস সাপোর্ট করে।
ডেস্কটপ থেকে XAMPP এর আইকনে ক্লিক করে XAMPP কন্ট্রোল প্যানেল রান করুন। এবং Apache ও MySQL চালু করুন।
এখন আপনার এপাচি ওয়েব সার্ভার চালু আছে। আপনার তৈরি করা পেজটি এপাচি ওয়েব সার্ভারে রান করার জন্য যে ওয়েব পেজটি আপনি তৈরি করছেন তা C ড্রাইভে অবস্থিত XAMPP ফোল্ডারের ভেতরে htdocs নামের ফোল্ডারে রাখতে হবে।
কোনো ওয়েব পেইজে পি এইচ পি আলাদাভাবে অবস্থান করে না। এইচ টি এম এল স্ক্রীপ্টের মধ্যেই এর কোড লেখা হয়। ব্রাউজার যখন পেজটি রান করে তখন এর ভেতরের সমস্ত কন্টেন্টকেই এইচটিএমএল স্ক্রীপ্ট হিসেবে প্রদর্শন করে। নিচের কোডটি দেখুন
echo “hello world”;
?>
এই কোডটি একটি নোটপ্যাডে লিখে সি ড্রাইভে অবস্থিত Xampp ফোল্ডারের ভেতরে htdocs ফোল্ডারে রাখুন এবং যেকোনো নামে সেভ করুন। আমার তৈরি করা এই ফাইলের নাম দিলাম sample.php
এখন ব্রাউজারের এড্রেসবারে http://localhost/sample.php টাইপ করলে নিচের মত আউটপুট পাওয়া যাবে।
এড্রেসবারে localhost বলতে আপনার পিসিতে অবস্থিত htdocs ডিরেক্টরীকেই বোঝানো হয়।
মূলত পি এইচ পি এর যেকোনো প্রোগ্রাম এভাবেই সার্ভার ডিরেক্টরীতে সেভ করে রান করতে হয়।
পি এইচ পি সিনট্যাক্সঃ
উপরের প্রোগ্রামটি আরেকবার দেখুন। পি এইচ পি সিনট্যাক্স সম্পর্কে মোটামুটি একটা ধারনা পাবেন।
যে কোনো পি এইচ পি কোড শুরু করতে হয় লিখে। অবশ্য
পি এইচ পি কোড মূলত লিখতে হয় ও ট্যাগের মধ্যে।
পি এইচ পি তে লেখা প্রতিটি লাইনের পরে “;” দিতে হয়।
পি এইচ পি কোচিং: [পর্ব-৩] :
গতপর্বে আমি বলেছিলাম ওয়েব সার্ভার চালু না থাকলে পি এইচ পি রান করবে না। আসলে ওয়েব সার্ভার কি?
ওয়েব সার্ভার কি এবং কিভাবে কাজ করে?
সাধারণ কথায়, ওয়েব সার্ভার হল একটি কম্পিউটারের মধ্যে অবস্থিত প্রোগ্রাম যার কাজ হল পৃথিবীর অন্য কম্পিউটারগুলোকে তাদের রিকোয়েস্টের ভিত্তিতে প্রয়োজনীয় তথ্য প্রদান করা। বুঝতে পারছেন না?
ধরুন, একটি কম্পিউটারে ইন্টারনেট কানেকশান আছে। তাতে এমন একটি সফটওয়্যার ইন্সটল করা আছে যার নাম ওয়েব সার্ভার। এই সফটওয়্যারের কাজ হল প্রয়োজনীয় ওয়েব পেজ,যা তাকে সরবরাহ করা হয় তা তার মধ্যে জমা রাখা অর্থাৎ ওয়েব পেজ সেভ করে রাখা। পৃথিবীতে নেট কানেক্টেড থাকা অন্যান্য কম্পিউটারের মধ্যে কিছু কম্পিউটারের ব্রাউজার থেকে সার্ভার সফটওয়্যার ইন্সটল করা কম্পিউটারে রিকোয়েস্ট আসলো তাদের কে যেনো কোন অমুক ওয়েব সাইটের তমুক পেজটি দেখতে দেয়া হয়। ব্রাউজার যে পেজটি দেখতে চায়,এই রিকোয়েস্টটি পাঠানোর সময় সে পেইজের ওয়েব এড্রেস বা URL এড্রেসও সার্ভার সফটওয়্যার যুক্ত কম্পিউটারে পাঠায়।
তখন সার্ভার যুক্ত কম্পিউটারের সার্ভার সফটওয়্যারটি ওই রিকোয়েস্ট চেক করে এবং সেই রিকোয়েস্টে উল্লেখ করা URL address বিশিষ্ট পেজ তার সংগ্রহে আছে কিনা তা চেক করে। যদি ওয়েবপেইজটি পাওয়া যায় তবে ঐ ওয়েবপেইজটিকে এইচটিএমলে ডকুমেন্ট আকারে আবার সেই ব্রাউজারবিশিষ্ট পিসিতে প্রেরন করে যে পিসির ব্রাউজার তাকে রিকোয়েস্ট পাঠিয়েছিল। আর ব্রাউজার এই ডকুমেন্টের এইচটিএমএল কন্টেন্টগুলোকে প্রসেস করে পেইজ আকারে স্ক্রীনে প্রদর্শন করে। আর পেইজ যদি না থাকে, তবে “page not found” অথবা “page unavailable” এধরনের নোটিশ পাঠায়।
উল্লেখ্য যে সকল পিসি থেকে রিকোয়েস্ট আসে তাদের বলা হয় ক্লায়েন্ট পিসি।
মূলত এটিই হল সার্ভার এর কাজ। আর এ ধরনেরই সার্ভার সফটওয়্যার হচ্ছে এপাচি ওয়েব সার্ভার। আর পি এইচ পি ল্যাংগুয়েজ এপাচি সার্ভারেই সবচেয়ে ভালো কাজ করে। আর সেই সাথে খুশির বিষয় হল, পৃথিবীতে যত সার্ভার কোম্পানী আছে তাদের ৬০%ই এপাচি সার্ভার ব্যবহার করে।
পিএইচপি(সার্ভার সাইড স্ক্রীপ্টিং ল্যাংগুয়েজ) ও জাভাস্ক্রীপ্ট ল্যাংগুয়েজঃ
এবার আসুন জানি অমুক সার্ভারে পি এইচ পি ভালো কাজ করে কথাটি দিয়ে কি বুঝায় ? আসলে ব্যাপারটি হচ্ছে, পিএইচপি অন্য সকল প্রোগ্রামিং ল্যাংগুয়েজের মত হলেও এটি মূলত কাজ করে সার্ভারের উপস্থিতিতে উক্ত সার্ভারের সাথে যৌথভাবে এবং এ ল্যাংগুয়েজের মাধ্যমে প্রদত্ত কমান্ড বা ইন্সট্রাকশান সার্ভারের মাধ্যমে সম্পন্ন করে।
একারণে সার্ভার থাকা অবস্থাতেই এ ল্যাংগুয়েজ সক্রিয় হয়। অন্যকোনো ল্যাংগুয়েজ যেমন,জাভাস্ক্রীপ্ট ল্যাংগুয়েজ এ লেখা প্রোগ্রাম রান করার জন্য কোনো সার্ভার লাগে না, কারণ এর কাজ সার্ভারের সাথে সম্পর্কিত নয়। এর কাজ সম্পর্কিত হল ব্রাউজারের সাথে। মোটকথা পিএইচপি ল্যাংগুয়েজ এর প্রসেসিং হয় সার্ভারের মাধ্যমে আর জাভাস্ক্রীপ্ট ল্যাংগুয়েজের প্রসেসিং হয় ব্রাউজারের মাধ্যমে। তাই, পি এইচ পি কে সার্ভার সাইড স্ক্রিপ্টিং ল্যাংগুয়েজ বলা হয়। কিন্তু জাভাস্ক্রিপ্টকে বলা হয় ব্রাউজার সাইড স্ক্রিপ্টিং ল্যাংগুয়েজ।
পিএইচপি কোচিং : পর্ব-৪ :
বিগত পর্বগুলোতে আমরা সার্ভার সাইড স্ক্রিপ্টীং ল্যাংগুয়েজ, ব্রাউজার সাইড স্ক্রিপ্টীং ল্যাংগুয়েজ ইত্যাদি বিভিন্ন বিষয় সম্পর্কে জেনেছি। আজ চলুন একটি কোড দেখি।
একটি নোটপ্যাডে নিচের কোডটুকু লিখুন।
echo "hello";
?>
এখন নোটপ্যাডটিকে যেকোনো নাম দিয়ে .php এক্সটেনশান দিয়ে সেভ করুন। আমি নাম দিয়েছি sample.php
এখন sample.php ফাইলটাকে c ড্রাইভের xampp ফোল্ডারের htdocs ফোল্ডারে সেভ করুন। এর ফলেই ফাইলটা আপনার সার্ভারে রয়েছে বলে ধরে নেয়া হবে। এখন ব্রাউজারে http://localhost/sample.php লিখলে নিচের মত পাবেন।
কোডটি দেখে আপনারা হয়ত কিছুটা অবাকও হচ্ছেন। হয়তো ভাবছেন, পিএইচপি কোথায়। এতো আপনাদের চিরচেনা এইচটিএমএল কোড। বন্ধুরা, আসলে পিএইচপি কোড কোনো আলাদা স্ক্রীপ্টে লেখা হয়না। এটি এইচটিএমএল এর সাথে এমবেড করা থাকে। একটি ওয়েব স্ক্রীপ্ট বা ডকুমেন্ট যখন সার্ভারে সেভ করা থাকে তখন এতে বিভিন্ন ধরনের কোড থাকতে পারে। হতে পারে তা পিএইচপি কোড বা এইচটিএমএল কোড। এই পেইজটিকে যখন ব্রাউজার দেখার জন্য সার্ভারে রিকোয়েস্ট পাঠায়, তখন সার্ভার চেক করে দেখে যে,ঐ ডকুমেন্টে কোনো পিএইচপি কোড আছে কিনা। যদি না থাকে তবে,অর্থাৎ যদি শুধুমাত্র এইচটিএমএল কোড থাকে তবে ঐ ডকুমেন্টটি বা পেজটি সাধারণভাবেই সার্ভার ব্রাউজারে প্রেরণ করে একটি সিম্পল প্লেইন এইচটিএমএল স্ক্রীপ্ট। কিন্তু যদি পিএইচপি কোড থাকে তবে ঐ পেইজটি ব্রাউজারে প্রেরণ করার পূর্বে সার্ভার ঐ পেইজের পিএইচপি কোড বা ইন্সট্রাকশান অনুসরন করে এবং সেই অনুযায়ী আউটপুট বের করে যা এইচটিএমএল রূপে পেইজে এটাচড হয় অর্থাৎ পিএইচপি কোড থাকলেই সার্ভার ঐ কোডকে ট্রান্সলেট করে তৈরি করে সিম্পল এইচটিএমএল স্ক্রীপ্ট।
আমরা জানি যেকোনো ব্রাউজারের অপশন বার থেকে পেজ সোর্স দেখা যায়। আপনি যদি উপরের কোডের পেজ সোর্স দেখেন তবে আপনি যা দেখবেন তা হবে নিচের মত।
দেখতেই পাচ্ছেন সোর্সের মধ্যে পুরো কোডটাই এইচটিএমএল। কোনো পিএইচপি কোড নেই,অথচ আপনি ঠিকই পিএইচপি কোড লিখেছিলেন (উল্লেখ্য, আমাদের কোডে এর মধ্যে লেখা কোডই পিএইচপি কোড)। তাহলে কোডটি গেল কোথায়। বন্ধুরা, এই কোডটি আসলে সার্ভার আগেই ট্রান্সলেট করেছে বা কম্পাইল করে সে অনুযায়ী এইচটিএমএল আউটপুট তৈরি করে পুরো ডকুমেন্টকেই এইচটিএমএল ডকুমেন্টে পরিণত করেছে যা আপনারা উপরের ছবিতে দেখতে পাচ্ছেন।
পিএইচপি কোচিং: পর্ব-৫ :
বন্ধুরা, গতপর্বে আমরা দেখেছিলাম পিএইচপি কোডের কাজ করার পদ্ধতি। আসুন আমরা নিজেরা এবার কোনো পিএইচপি কোড লিখি।
পিএইচপি কোড আপনি যেকোনো জায়গায় লিখতে পারেন একটি এইচটিএমএল স্ক্রীপ্টের মধ্যে। ট্যগের মধ্যে অথবা ট্যগের মধ্যে যেকোনো জায়গায়। নিচের কোডটি দেখুন।
echo "hello everybody";
?>
এখানে এর মধ্যে যা কিছু লেখা হয়েছে সবই পিএইচপি কোড।
পিএইচপি কোড শুরু করতে হয় এর মাধ্যমে।
প্রতিটী লাইনকে একেকটি স্টেটমেন্ট বলা হয়। পিএইচপিতে প্রতিটা লাইনের পরে ";" দেয়া ভালো। যেমন
echo "hello everybody";
এখানে echo একটি ফাংশন যার কাজ হল যেকোনো লেখাকে ব্রাউজারে প্রদর্শন করা। যেমন , এখানে "" এর মধ্যে আবদ্ধ hello everybody কে ব্রাউজারে প্রদর্শন করা হচ্ছে।
এর বাইরে যা কিছু আছে তাকেই মূলত ব্রাউজার এইচটিএমএল কোড বলে ধরে নেয়।
পিএইচপি কেস সেনসিটিভ নয়। অর্থাৎ, ছোট বড় যেকোনো হাতের লেখাই চলবে। তবে ছোট হাতের লেখাই শ্রেয়।
কিছুক্ষন আগে আমি বলেছি, echo ফাংশনের কথা। আপনারা হয়তো ভাবছেন,ফাংশন আবার কি জিনিস। ফাংশন মূলত প্রোগ্রামিং এ কমান্ডের কাজ করে। একেক ফাংশনের কাজ একেক রকম। যেমন, কোনো ফাংশন যেকোনো লেখাকে ব্রাউজারে প্রদর্শনের কাজ করে,যেমন echo ফাংশন। আবার কোনো ফাংশন ব্রাউজারে তারিখ বা সময় প্রদর্শন করে। ইত্যাদি।
পিএইচপি কোচিং: পর্ব-৬ :
বন্ধুরা, আজ আমরা দেখব পিএইচপিতে কিভাবে কমেন্ট করা যায়। চলুন কথা বা বাড়িয়ে শুরুই করে দিই।
যেকোনো কোড লেখার পরে ঐ কোড পরবর্তীতে অন্য কারো মাধ্যমে আপডেট করার প্রয়োজন হতে পারে। সেক্ষেত্রে তার বা অন্য কারো যেনো কোডটি বুঝতে সমস্যা না হয় তাই কোডের পাশে কমেন্ট যোগ করার সুবিধা দেয়া হয় যেকোনো প্রোগ্রামে।
পিএইচপি কোডে কমেন্ট করা জন্য "//" ব্যবহার করা হয়। যেমন, নিচের উদাহরনটি দেখু্ন।
//this is comment
echo "hello everybody";
?>
লক্ষ্য করুন, এই কোডে ২য় কোডে "//" এর পরে this is comment কথাটি লেখা হয়েছে, কিন্তু তবুও কোডটি রান করার পরেও ব্রাউজারে লেখা প্রদর্শিত হবে না।
তবে আপনি যদি একাধিক লাইনে কমেন্ট করতে চান তবে কমেন্টের শুরুতে /* এবং শেষে */ দিলেই হয়ে যাবে। উক্ত কমেন্ট ব্রাউজারে প্রদর্শিত হবে না। যেমন,
/*this is comment
the comment is running
the comment is here too*/
echo "hello everybody";
?>
বন্ধুরা, আজ এ পর্যন্তই। হ্যাপি পিএইচপি লার্নিং।
পিএইচপি কোচিং: পর্ব-৭ :
বন্ধুরা গতপর্বে আমরা কমেন্ট করা সম্পর্কে জেনেছিলাম। আজ আমরা জানব ভেরিয়েবল সম্পর্কে। প্রথমেই যে প্রশ্নটি মনে জাগতে পারে তা হল ভেরিয়েবল কি? আসুন জানার চেষ্টা করি।
ভেরিয়েবলকে তুলনা করতে কোনো একটি পাত্রের সাথে। পাত্রে যেমন কোনো কিছউ রাখা বা সংরক্ষন করা যায়, তেমনি ভেরিয়েবলেও ডাটা রাখা যায় এবং প্রয়োজনে ঐ ডাটা ফেলে নতুন ডাটাও রাখা যায়। যেকোনো প্রোগ্রামে ভেরিয়েবল ব্যবহার করার পূর্বে তা ডিক্লেয়ার করে কপাইলারকে জানিয়ে দিতে হয় যে, উক্ত নামে একটি ভেরিয়েবল ব্যবহার করা হবে। তবে পিএইচপি এর ক্ষেত্রে ভেরিয়েবল এভাবে ডিক্লেয়ার করতে হয়না। শুধুমাত্রা ভেরিয়েবলের নামের আগে "$" দিতে হয়, তবেই পিএইচপি বুঝে নেয় যে, এটি একটি ভেরিয়েবল। যেমন ,
$hel
$skl
$a
উপরে দেখানো প্রতিটি শব্দই একেকটা ভেরিয়েবল কারণ এদের নামের আগে $ যোগ করা হয়েছে।
ভেরিয়েবলের নাম যেকোনো কিছু হতে পারে। kodu,modhu সব। তবে এদের নামের আগে $ সাইন দিতে হবে অর্থাৎ $kodu, $modhu এভাবে লিখতে হবে।
ভেরিয়েবলের নামের মধ্যে কোনো স্পেস থাকতে পারবে না। যেমন $u ssl . এটা কোনো ভেরিয়েবল নয়। কারণ এর নামের স্পেস আছে।
ভেরিয়েবলের নামে "_" আন্ডারস্কোর ব্যবহার করা যাবে। যেমন,$asd_af
এতক্ষন আমরা দেখলাম ভেরিয়েবলের নাম কিভাবে লিখতে হয় এবং নাম লেখার ক্ষেত্রে কি কি নিয়ম অনুসরন করতে হয়। আসুন এবার দেখি, পিএইচপিতে ভেরিয়েবলে ডাটা নির্ধারণ করতে হয় কিভাবে। নিচের দেখুন,
$v=123;
মূলত এভাবেই ভেরিয়েবলে ডাটা নির্ধারণ করতে হয়। এখানে v নামে একটি ভেরিয়েবল ডিক্লেয়ার করা হয়েছে এবং সেই সাথে এর মান হিসেবে ১২৩ নির্ধারণ করা হয়েছে।
আসুন এবার একটি প্রোগ্রাম দেখি। নিচের কোডটুকু লক্ষ্য করুন।
$b=123;
echo $b;
?>
এটি নোটপ্যাডে লিখে sample.php নামে htdocs ফোল্ডারে সেভ করে ব্রাউজারে http://localhost/sample.php লিখে রান করলে নিচের মত পাবেন।
কেন এমন আউটপুট আসলো ? ভাবতে থাকুন।
পিএইচপি কোচিং: পর্ব-৮ :
বন্ধুরা, গতপর্বে আমরা জেনেছিলাম ভেরিয়েবল সম্পর্কে আর এ প্রসংগে বলতে গিয়ে একটি উদাহরন দেখিয়েছিলাম। আসুন উদাহরনটা আরেকবার দেখি।
$b=123;
echo $b;
?>
এখানে পিএইচপি কোড অংশে প্রথমে $b=123; এর মাধ্যমে $b এর মাধ্যমে একটি ভেরিয়েবল ডিক্লেয়ার করা হয়েছে এবং এই ভেরিয়েবলের মান নির্ধারন করা হয়েছে 123. পরের লাইনে echo ফাংশনের মাধ্যমে $b ভেরিয়েবল ব্রাউজারে প্রদর্শন করাতে বলা হয়েছে। $b ভেরিয়েবল প্রদর্শন করার অর্থ হচ্ছে এতে সংরক্ষিত মান প্রদর্শন করা। $b ভেরিয়েবলে 123 মান আছে। তাই echo $b স্টেটমেন্টের ফলে ব্রাউজারে 123 সংখ্যাটি প্রদর্শিত হবে।
বন্ধুরা, ডাটাতো অনেক ধরনের হতে পারে। ডাটা হতে পারে কোনো পূর্ণসংখ্যা, হতে পারে দশমিকবিশিষ্ট সংখ্যা অথবা হতে পারে শুধুমাত্র এক বা একাধিক বর্ণ বা শব্দ বা এক বা একাধিক বাক্য। পিএইচপিতে কোন ধরনের ডাটা রাখা হচ্ছে তা একে বলে দিতে হয়না। পিএইচপি নিজেই তা ঠিক করে নেয়। এটি পিএইচপি এর একটি সুবিধা।
আমি বলেছি, ডাটা হয় বিভিন্ন রকম। তা সংখ্যা বা বর্ণ/শব্দসমষ্টি হতে পারে। পিএইচপিতে বর্ণ বা শব্দসমষ্টিকে স্ট্রিং টাইপ ডাটা বলা হয় এবং স্ট্রিংকে "" এর মধ্যে লেখা হয় নিচের মত।
"hello world"
এখাএ hello world পুরোটাই একটা স্ট্রিং যাকে "" এর মধ্যে লেখা হয়েছে। এই স্ট্রিংকে আপনি ভেরিয়েবলে সংরক্ষন করতে পারেন নিচের মত।
$var="hello world";
আসুন একটি প্রোগ্রাম দেখি যেখানে এই ভেরিয়েবলের মাধ্যমে এই লেখাটিকে ব্রাউজারে প্রদর্শন করা হবে।
$var="hello world";
echo $var;
?>
এখানে echo ফাংশনের মাধ্যমে $var ভেরিয়েবলে সংরক্ষিত ডাটাকে ব্রাউজারে প্রদর্শন করতে বলা হয়েছে আর $var ভেরিয়েবলে hello world ডাটা নির্ধারন করা হয়েছে $var="hello world"; এর মাধ্যমে।
বন্ধুরা আজ এ পর্যন্তই।
পিএইচপি কোচিং : পর্ব-৯ :
বন্ধুরা, গত পর্বে আমরা জেনেছিলাম স্ট্রিং ভেরিয়েবল সম্পর্কে এবং জেনেছিলাম কিভাবে তা ডিক্লেয়ার করতে হয়। কিন্তু এমন যদি হয় যে, দুটি ভেরিয়েবলে সংরক্ষিত ডাটাকে এমনভাবে ব্রাউজারে প্রদর্শন করতে হবে যেন এই ভেরিয়েবলের সংরক্ষিত স্ট্রিং মিলে একটি বাক্য তৈরি করে তবে এ কাজটি কিভাবে করা যায়? আসুন তাইই দেখি। নিচের কোডটি দেখুন।
$txt1="hello everybody, ";
$txt2="how are you all?";
echo $txt1.$txt2;
?>
লক্ষ্য করুন, echo $txt1.$txt2; স্টেটমেন্টে $txt1 ও $txt2 এর মাঝখানে "." ব্যবহার করা হয়েছে যার মাধ্যমে এই দুইটি ভেরিয়েবলের ডাটাকে একসংগে সংযুক্ত করা হয়েছে এবং echo ফাংশনের মাধ্যমে এই সংযুক্ত ফলাফল ব্রাউজারে প্রদর্শন করা হচ্ছে নিচের মত।
আরেকবার লক্ষ্য রাখতে হবে, কখনই ভেরিয়েবলকে নিচের মত করে অর্থাৎ "" এর মধ্যে লিখবেন না।
echo "txt1";
কারণ এতে ব্রাউজার txt1 কে ভেরিয়েবল না ধরে স্বাভাবিক একটি স্ট্রিং হিসেবে ধরতে পারে এবং এই স্ট্রিংকেই ব্রাউজারে প্রদর্শন করবে।
আর যেকোনো স্ট্রিং বা লাইন যা কোনো ভেরিয়েবলে সংরক্ষন না করে সরাসরি echo ফাংশনের মাধ্যমে ব্রাউজারে প্রদর্শন করতে হলে নিচের মত করে লিখতে হয়।
echo "hello world";
অর্থাৎ, আমরা বলতে পারি শুধুমাত্র স্ট্রিং এর বেলাতেই "" ব্যবহার করা হয় এবং "" এর মধ্যে স্ট্রিঙটি লিখতে হয়।
এখন আপনি যদি দুটি ভেরিয়েবলে সংরক্ষিত স্ট্রিং এবং এদের মধ্যে আরেকটি সাধারণ স্ট্রিংকে একসাথে জোড়া লাগাতে চান তবে এভাবে লিখতে হবে,
$txt . "hello world" . $txt
আর একে ব্রাউজারে প্রদর্শনের জন্য নিচের মত echo ফাংশন ব্যবহার করতে হবে।
echo $txt . "hello world" . $txt;
আশা করি ব্যাপারটা বুঝতে পেরেছেন। ভালো থাকবেন সবাই।
পিএইচপি কোচিং: পর্ব-১০ :
বন্ধুরা, আজ আমরা দুইটি গুরুত্বপূর্ণ ফাংশন সম্পর্কে জানব। ফাংশন দুইটি হল strlen() ফাংশন এবং strpos() ফাংশন। অবশ্য ফাংশন দুটি বেশ মজারও বটে।
strlen():
এই ফাংশনের কাজ হল যেকোনো স্ট্রিং এর ক্যারেক্টার সংখ্যা নির্ণয় করা। উল্লেখ্য পিএইচপিতে যেকোনো ধরণের বর্ণ,স্পেস,চিহ্ন ইত্যাদিকে ক্যারেক্টার বলা হয়। যেমন, "where are you?" এই স্ট্রিং এ কয়টি ক্যারেক্টার আছে তা জানার জন্য উক্ত স্ট্রিং এই ফাংশন ব্যবহার করে নিচের মত লিখতে হবে।
strlen("where are you?")
এর রেজাল্ট হবে ১৪ কারণ এতে ১৪ টি ক্যারেক্টার আছে। (একটি ? চিহ্ন, ২টি স্পেস এবং ১১টি বর্ণ)
তবে এই রেজাল্টটি ব্রাউজারে প্রদর্শন করতে চাইলে নিচের মত লিখতে হবে।
echo strlen("where are you?");
strpos():
এই ফাংশনের কাজ হল কোনো নির্দিষ্ট স্ট্রিং এ কোনো একটি ক্যারেক্টারের অবস্থান নাম্বার বের করা। নিচের উদাহরনটি লক্ষ্য করুন।
strpos("where are you?","you");
এখানে () এর ভেতর , দিয়ে দুটি স্ট্রিং লেখা হয়েছে। প্রথমে লেখা হয়েছে যে স্ট্রিং এ অবস্থান খুঁজতে হবে সেই স্ট্রিং এবং পরে লেখা হয়েছে যে স্ট্রুইং এর অবস্থান খুঁজতে হবে সেই স্ট্রিং। ফলে এর রেজাল্ট আসবে, ১০। কারণ "you" শব্দের প্রথম ক্যারেক্টার y শুরু হয়েছে ১০ নাম্বার অবস্থানের পর থেকে।
নিচের কোডটি দেখলে আশা করি ব্যাপারটি আরো পরিস্কার হবে।
echo strlen("where are you?");
echo "";
echo strpos("where are you?","you");
?>
ফলে এর আউটপুট হবে নিচের মত।
কেন এমন হল নিশ্চয়ই বুঝতে পারছেন।
পিএইচপি কোচিং : পর্ব-১১ :
বন্ধুরা, পিএইচপি শেখার ১১ তম পর্বে আপনাদের সবাইকে স্বাগতম। গতপর্বে আমরা স্ট্রিং সম্পর্কে অনেক কিছু জানলাম, আজ আমরা পিএইচপির আরেকটি গুরুত্বপূর্ণ বিষয় সম্পর্কে জানব, আর তা হল অপারেটর।
অপারেটর কি? এ প্রশ্নের সহজ জবাব, যা অপারেট করে তাকেই অপারেটর বলে। ইতোমধ্যে আমরা পিএইচপিতে ভেরিয়েবল সম্পর্কে জেনেছি। আমরা জেনেছি ভেরিয়েবলে সংখ্যা বা অন্য যেকোনো ধরনের ডাটা থাকতে পারে। কাজের প্রয়োজনে এসব ডাটাকে একটি আরেকটির সাথে যোগ, বিয়োগ,গুণ বা ভাগ বা একটি আরেকটির সাথে তুলনা করার দরকার হয়। আর সেক্ষেত্রে বিভিন্ন ধরনের চিহ্ন যেমন +,-,x,/,% ইত্যাদি ব্যবহার করা হয়। এদেরকেই মূলত অপারেটর বলে।
অর্থাৎ, যেসকল চিহ্ন বিভিন্ন ডাটাকে নিয়ে বিভিন্ন ম্যাথমেটিকেল বা তুলনামূলক ক্যালকুলেশন করে তাদেরকেই সহজ কথায় অপারেটর বলা যায়।
আর অপারেটর যেসকল ডাটা নিয়ে কাজ করে তাদের বলে অপারেন্ড।
যেমন,
$a+$b=1000;
উপরের উদাহরনে $a এবং $b এর ডাটাকে নিয়ে কাজ করছে "+"। তাই + একটি অপারেটর, আর + কাজ করছে $a ও $b কে নিয়ে,তাই $a , $b অপারেন্ড।
আবার,$a+$b এবং 1000 নিয়ে কাজ করছে "="। তাই "=" একটি অপারেটর।
অপারেটরকে চারভাগে ভাগ করা যায়।
এরিথমেটিক অপারেটর
এসাইনমেন্ট অপারেটর
কম্প্যারিজন অপারেটর
লজিক্যাল অপারেটর
এরিথমেটিক অপারেটরঃ যেসকল অপারেটর সাধারণত অপারেন্ডগুলোকে যোগ,বিয়োগ,ভাগ,গুন এ ধরনের কাজ করতে ব্যবহার করা হয় তাদেরকে এরিথমেটিক অপারেটর বলা হয়।
চিহ্ন নাম উদাহরন অর্থ
+ যোগ $x+$a দুইটি ভেরিয়েবল x ও aপরস্পর যুক্ত হল
- বিয়োগ $x-$a $x থেকে $a বিয়োগ করা হল
* গুণ $x*$a $x , $a পরস্পর গুণ করা হল
/ ভাগ $x/$a $x কে $a দ্বারা ভাগ করা হল
% মডুলাস $x%$a $x কে $a দ্বারা ভাগ করে ভাগশেষ বের করা হল
++ ইনক্রিমেন্ট $x++ $x এর মান 1 বৃদ্ধি করা হল
- - ডিক্রিমেন্ট $x- - $x এর মান 1 হ্রাস করা হল
বন্ধুরা, আজ এ পর্যন্তই।
পিএইচপি কোচিং : পর্ব-১২ :
বন্ধুরা কেমন আছেন সবাই ? পিএইচপি এর গত কয়েকটি পর্বে আমরা জেনেছি বেরিয়েবল এবং অপারেটর সম্পর্কে। জানতে জানতে অনেকে হয়তো হাঁপিয়ে গেছেন। আসুন এই জানাটাকে আমরা এবার কাজে লাগাই প্রোগ্রাম লেখার মাধ্যমে।
নিচের কোডগুলো লক্ষ্য করুন। অবশ্য শুধু লক্ষ্য করলেই হবে না, নিজে করলে আরো ভালো।
$tm=4;
$nam="Nila";
echo "i have been waiting here for u for " . $tm ." hours. where were u ? ";
echo "";
echo "i came with ".$nam;
?>
এর আউটপুট হিসেবে ব্রাউজারে নিচের মত পাবেন।
আসুন এবার কোডটা থেকে কিভাবে এমন আউটপুট পাওয়া গেল তা নিয়ে একটু আলোচনা করি।
এই কোডের পিএইচপি অংশে
$tm=4; এর মাধ্যমে একই সাথে $tm নামে একটি ভেরিয়েবল ডিক্লেয়ার করা হয়েছে এবং সেই সাথে তার মান হিসেবে ৪ নির্ধারণ করা হয়েছে।
পরের লাইনে $nam="Nila"; এর মাধ্যমে আরেকটি ভেরিয়েবল($name) ডিক্লেয়ার করা হয়েছে এবং এর মান হিসেবে "Nila" স্ট্রিং ডিক্লেয়ার করা হয়েছে।
পরবর্তী লাইনে echo "i have been waiting here for u for " . $tm ." hours. where were u ? "; এ লেখাটির ফলে ব্রাউজারে i have been waiting here for u for 4 hours. where were u ? লেখাটি পাওয়া যাচ্ছে। এক্ষেত্রে echo "i have been waiting here for u for " কোডটির জন্য ব্রাউজারে i have been waiting here for u for এই অংশটুকু দেখাচ্ছে। এখানেই শেষ নয়। $tm ভেরিয়েবলে সংরক্ষিত ডাটাকে("4") যোগ করা হয়েছে "." এর মাধ্যমে echo কমান্ডের মাধ্যমে প্রদর্শিত আগের লাইনের সাথে। ফলে $tm ভেরিয়েবলে সংরক্ষিত ডাটাও ব্রাউজারে দেখা যাবে i have been waiting here for u for এই অংশের পরেই। এখানে কোডে "." যোগ করার কাজ করছে। পরবর্তীতে আবারো "." এর মাধ্যমে " hours. where were u ? " এই লেখাটিকে যোগ করা হচ্ছে যেনো এই লেখাটিও ব্রাউজারে দেখায়।
সব মিলিয়ে "i have been waiting here for u for " . $tm ." hours. where were u ? " এই অংশকে echo ফাংশন বা কমান্ডের মাধ্যমে ব্রাউজারে দেখানো হয় যার আউটপুট হয়।
i have been waiting here for u for 4 hours. where were u ?
পরবর্তী লাইনে যাওয়ার জন্য ব্যবহার করা হয় echo ""; ব্যবহারের ফলে ২য় লাইনের লেখাটি আপনারে নিচের লাইনের দেখতে পাচ্ছেন।
পরের লাইনে echo "i came with ".$nam; এই কোডটিও আগের লাইনের মতই কাজ করে।
বন্ধুরা, আজ এ পর্যন্তই সবাই ভালো থাকবেন।
পিএইচপি কোচিং : পর্ব-১৩ :
বন্ধুরা, গতপর্বে আমরা একটি উদাহরণের মাধ্যমে দেখেছিলাম, কিভাবে ভেরিয়েবল ব্যবহার করতে হয় এবং কিভাবে একে অন্য কোনো স্ট্রিং এর সাথে একইসাথে ব্রাউজারে প্রদর্শন করা যায়। আজ আমরা দেখবে। ভেরিয়েবল, অপারেটর, সমীকরন ইত্যাদি কিভাবে কাজ করে। আসুন তাহলে শুরু করা যাক।
নিচের কোডটি লক্ষ্য করুন।
$rm=2;
$ng=3;
echo "the sum of ".$rm. " and ". $ng ." is";
echo "
";
echo $rm+$ng;
?>
এই লেখাটি নোটপ্যাডে লিখে যেকোনো নামে .php এক্সটেনশান দিয়ে htdocs ফোল্ডারে সেভ করে ব্রাউজারে রান করলে নিচের মত পাবেন।
এখানে $rm=2; এর মাধ্যমে $rm নামে একটি ভেরিয়েবল ডিক্লেয়ার করা হয়েছে এবং এর মান "2" নির্ধারণ করা হয়েছে। একইভাবে $ng=3; এর মাধ্যমে $ng ভেরিয়েবলের মান "3" নির্ধারণ করা হয়েছে।
echo "the sum of ".$rm. " and ". $ng ." is"; এর মাধ্যমে ব্রাউজারে the sum of 2 and 3 is এই লেখাটি প্রদর্শিত হচ্ছে। কিভাবে হচ্ছে তা পূর্বের পর্বে আলোচনা করা হয়েছে।
echo "
"; এর মাধ্যমে লাইন ব্রেক করা হয়েছে ।
echo $rm+$ng; এই লাইনে লেখা হয়েছে $rm+$ng, এই অংশের ফলে $rm এবং $nm এই দুই ভেরিয়েবলে সংরক্ষিত ডাটা যোগ করা হয়েছে। echo ফাংশনের মাধ্যমে $rm+$ng এর ফলাফল ব্রাউজারে প্রদর্শিত হচ্ছে।
উল্লেক্য এক্ষেত্রে echo $rm+$ng; না লিখে echo "$rm+$ng"; লিখা হলে ব্রাউজারে নিচের মত ফলাফল আসত।
এর কারণ "" চিহ্নের ভেতর ভেরিয়েবলগুলো ভেরিয়েবলের মতই কাজ করে এবং এদের মান ব্রাউজারে প্রদর্শিত হয় কিন্ত, এছাড়া অন্য যেকোনো লেখাই "" এর ভেতর স্ট্রিং হিসেবে ধরে নেয়া হয় এবং এজন্য "+" চিহ্নকেও অপারেটর হিসেবে নয় বরং একটি সাধারণ স্ট্রিং হিসেবেই ধরে নেয়া হয়েছে। আশা করি বুঝতে পেরেছেন।
বন্ধুরা, ভালো থাকবেন সবাই।
Tuesday, March 20, 2012
Subscribe to:
Posts (Atom)