পিএইচপি এর পূর্ণরূপ হচ্ছে হ্যাইপারটেক্সট প্রিপ্রসেসর (PHP: Hypertext Preprocessor) ।পিএইচপি একটি জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজ যা তৈরি হয়েছিলো ওয়েব ডেভেলপমেন্ট এর জন্য । এই প্রোগ্রামিং ল্যাংগুয়েজটির উদ্দেশ্য হল ওয়েব পেজকে ডাইনামিকালি তৈরী করা । বর্তমানে আমরা সবাই দিনে দিনে ইন্টারনেটের দিকে ঝুকে যাচ্ছি আমরা সবাই চাই আমাদের প্রকৃত ঠিকানার পাশাপাশি ভার্চুয়াল ঠিকানা থাকুক । কারন ওয়েবসাইটের মাধ্যমে একটি প্রতিষ্ঠান একদিকে যেভাবে তার গ্রাহকদের সাথে সরাসরি যোগাযোগ স্থাপন করতে পারে, অপরদিকে বিভিন্ন শহরে বা বিভিন্ন দেশে অবস্থিত নিজস্ব শাখার সাথে আত্ত্বযোগাযোগও সহজে এবং কম খরচে করতে পারে। একটি ডেস্কটপ সফটওয়্যার তৈরি করার চাইতে ওয়েবসাইট এপ্লিকেশন তৈরির করতে সবাই বেশি আগ্রহী থাকে। প্রতিদিন পিএইচপির জনপ্রিয়তা ও ব্যপকতা বাড়ার কারনে এখন তার অবস্থান অতুলনীয় ।বর্তমান বিশ্বের প্রায় অধিকাংশ ওয়েবসাইটই কোন না কোনভাবে পিএইচপির উপর নির্ভরশীল এটা প্রায় ৮২% এর মত। বিশ্বের বড় বড় ওয়েবসাইট ও পিএইচপি ল্যাঙ্গুয়েজ এর উপর ভিত্তি করে তৈরি করা । যেমন – ফেইসবুক(Facebook) , উইকিপিডিয়া(wikipedia), গুগোল (Google)ও তাদের এ্যাপ ইঞ্জিন প্ল্যাটফর্মে পিএইচপি সাপোর্ট যোগ করেছে। তাই ওয়েব নির্ভর প্রজেক্টগুলোতে পিএইচপি ডেভেলপারদের চাহিদাও প্রচুর।

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

যাদের জন্য প্রযোজ্য

এই টিউটোরিয়ালগুলো তাদের জন্য, যারা পিএইচপি প্রোগ্রামিং শিখতে চাচ্ছেন , কিন্ত সঠিক কোন দিক নির্দেশনা পাচ্ছেন না । আশা করছি এই টিউটোরিয়ালের দ্বারা আপনারা মৌলিক পিএইচপি প্রোগ্রামিং শিখার জন্য একটা সঠিক নির্দেশনা পাবেন।

পূর্বের করণীয় কিছু বিষয়

পিএইচপি প্রোগ্রামিং ভাষা অনেকটা সি এবং সি++ প্রোগ্রামিং ভাষার উপর ভিত্তি করে তৈরি , তাই যদি সি এবং সি++ প্রোগ্রামিং এর মৌলিক জ্ঞান থাকে, তাহলে পিএইচপি প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখাতে সুবিধা হবে।

সূত্র ফ্রি শিখি

পিএইচপি কনফিগারেশন ও ইনস্টলেশন

ইনস্টলেশনের জন্য আমাদের কি কি দরকার ?

আমরা পিএইচপি দুইভাবে চালু করতে পারি-

ওয়েব হোস্টিং মাধ্যমে যেটা পিএইচপি এবং মাইএসকিউএল (MySQL) ডেটাবেস সাপোর্ট করে ।
অথবা,

আমরা আমাদের নিজেদের পিসিতে আগে ওয়েব সার্ভার তারপর পিএইচপিএবংমাইএসকিউএল (MySQL) ইন্সল দিয়ে পিএইচপি কোড রান করতে পারি।
ওয়েব হোস্টিং মাধ্যমেঃ

যদি আপনার ওয়েব সার্ভার পিএইচপি সাপোর্ট করার জন্য তৈরি থাকে তাহলে আপনাকে কিছুই করতে হবে না ।

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

বর্তমানে প্রায় সব ওয়েব হোস্টিং গুলো পিএইচপি সাপোর্ট করে।

পিসিতে পিএইচপি সেট-আপ করাঃ

যদি আমরা ভালভাবে পিএইচপি শিখতে চাই তাহলে আমাদের সার্ভার এনভায়রনমেন্ট সম্পর্কে ভালো ধারনা থাকাটা খুবই দরকার । পিসিতে পিএইচপি সেট-আপ করার জন্য নিন্মের জিনিসগুলো ইন্সটল করতে হবে –

একটি ওয়েব সার্ভার
একটি পিএইচপি
একটি ডেটাবেস (অধিকাংশ ডেটাবেস সিস্টেমের জন্য পিএইচপি সাপোর্ট থাকলেও, পিএইচপির সাথে মাইএসকিউএল (MySQL) এর ব্যবহার প্রচুর)
আমার মতে যারা নতুন তাদের জন্য ওয়েব সার্ভার হিসাবে এ্যাপাচি (Apache) খুব ভালো হবে।

উপরোক্ত সফটওয়ারগুলো সব ফ্রি পাওয়া যায়। শুধুমাত্র XAMPP নামের সফটওয়্যার ইন্সটল করলেই এই সবগুলো সফটওয়্যার ইন্সটল হয়ে যায়।

আপনারা এখান থেকে XAMPP ডাউনলোড করে ইনস্টল করুন ।

XAMPP Download

ইন্সটল করার পর স্টার্ট মেনুতে(Start Menu) গিয়ে xampp লিখে সার্চ করুন দেখুন XAMPP Control Panel নামে একটি আইকন দেখাচ্ছে অথবা ডেক্সটপে দেখুন xampp এর আইকন তৈরি হয়েছে অথবা যে ড্রাইভে ইনস্টল দিয়েছেন সেখানে গেলেই একটা XAMPP Control Panel নামে আইকন দেখতে পাবেন সেখানে ডাবল ক্লিক করে ওপেন করুন । তারপর Apache এবং MySql এর স্টার্ট (Start) বাটনে ক্লিক করুন ।

xampp

xampp

বিঃদ্রঃ যদি এ্যাপাচি চালু না হয় পোর্টের সমস্যা দেখায় তাহলে আপনার পিসিতে যদি স্কাইপ অথবা VMWare সফটওয়্যার ইন্সটল করা থাকে তাহলে স্কাইপ অথবা VMWare সফটওয়্যারটি Exit করুন।তারপর পুনরায় চেষ্টা করুন।

এবার আপনার ওয়েব ব্রাউজার ওপেন করে Address bar এ http://localhost এই এড্রেসটি লিখুন।দেখুন xampp এর একটি পেজ এসেছে।তার মানে আপনি আপনার পিসিতে সঠিকভাবে xampp অর্থ্যাৎ ওয়েবসার্ভার, পিএইচপি, মাইএসকিউএল ইন্সটল করতে পেরেছেন।

Xampp ডিরেক্টরির ভিতর htdocs নামের আরেকটি ডিরেক্টরি পাবেন সেখানে আপনি আপনার সব পিএইচপি ফাইলগুলো রাখতে পারবেন।

যারা লিনাক্স ব্যবহার করেন তাদের LAMP নামের সফটওয়্যার ইন্সটল করতে হবে ।উবুন্টু ব্যবহারকারীরা টার্মিনালে এই কমান্ডটি দিলেই LAMP ইন্সটল হয়ে যাবে-

sudo apt-get install lamp-server^

আর যারা ম্যাক (MAC) ব্যবহার করেন তাদের MAMP নামের সফটওয়্যার ইন্সটল করতে হবে অথবা পিএইচপি এবং মাইএসকিউএল ইন্সটলের জন্য হোমব্রু (Homebrew) ইন্সটল করতে হবে আর এ্যাপাচি বাই-ডিফল্ট ই ম্যাকে ইন্সটল করা থাকে ।

বেসিক পিএইচপি সিন্ট্যাক্স

আমার আগের টিউটোরিয়ালগুলো যারা পড়েছেন তারা অবশ্যই জানেন যে, একটি পিএইচপি স্ক্রিপ্ট/প্রোগ্রাম প্রথমে সার্ভারে এক্সিকিউট হয় এবং এর ফলাফল ব্রাউজার এএইচটিএমএল(HTML) আকারে প্রদর্শিত হয়।

পিএইচপি সিন্ট্যাক্স(Basic PHP Syntax)

আমরা পিএইচপি স্ক্রিপ্ট/প্রোগ্রাম ডকুমেন্টের(Document) যে কোন স্থানে ব্যবহার করতে পারি।

পিএইচপি কোড এর প্রতিটি অংশ < ?php চিহ্ন দিয়ে শুরু এবং ?> চিহ্ন দিয়ে শেষ হয়।

উদাহরনঃ-

<? php …… ?> এটা হল পিএইচপির বহুল ব্যবহৃত ট্যাগ ।এছাড়াও একে আমরা ছোট আকারে লিখতে পারি এটা দেখতে এরকম –

<? // PHP code area ?>

এইচটিএমএল(HTML) স্ক্রিপ্ট ট্যাগ

এইচটিএমএল (HTML) স্ক্রিপ্ট ট্যাগ দেখতে –

পিএইচপি ফাইলগুলোর পূর্ব নির্ধারিত Extension হচ্ছে “.php” ।

একটি পিএইচপি ফাইল সাধারনত এইচটিএমএল (HTML) এবং পিএইচপি স্ক্রিপ্টিং কোড ধারন করে।

চলুন লিখে ফেলা যাক পিএইচপির প্রথম প্রোগ্রাম-

<!DOCTYPE html>

<html>

<body>

<h1>My first PHP page</h1>

<?php

echo “Hello World!”;

?>

</body>

</html>

আউটপুটঃ

Hello world

বিঃদ্রঃ পিএইচপির স্টেটমেন্ট(Statement) একটি সেমিকোলন ; দ্বারা শেষ করতে হবে।

পিএইচপিতে কমেন্ট কিভাবে করব?

প্রথমে আমাদের জানতে হবে কমেন্ট(Comment) কি? কমেন্ট হচ্ছে প্রোগ্রাম/কোডিং-এর সেই অংশ যা প্রোগ্রাম এক্সিকিউটের সময় স্কিপ (Skip) বা এক্সিকিউট না করেই পরের লাইনের কোড এক্সিকিউট করতে চলে যায় । কমেন্টস এ কোন নির্দেশ (Instruction) থাকে না । সাধারনত আমরা কমেন্ট (Comment) ব্যবহার করি যাতে আমরা কোন কোড দেখেই বুঝতে পারি কেন আমরা এই কোড লিখেছিলাম বা এই কোডের কাজ কি? কমেন্ট সাহায্যকারী হিসাবে ব্যবহৃত হয় ।

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

সিঙ্গল লাইন কমেন্ট
মাল্টি লাইন কমেন্ট
সিঙ্গল লাইন কমেন্ট(single-line comment):

সিঙ্গল লাইন কমেন্ট আবার আমরা দুই ভাবে ব্যবহার করতে পারি। যেমন-

// – দুইটি স্ল্যাশ ব্যবহার করে
# -একটা হ্যাশ ব্যবহার করে শেল স্টাইলে

উদাহরনঃ

<?php

$name=“Samsujjaman Bappy”;       // সিঙ্গল লাইন কমেন্ট

$age=21;         #   সিঙ্গল লাইন কমেন্ট

echo $name;

echo $age;

?>

মাল্টি লাইন কমেন্ট(multi-lines comment):

স্ল্যাশ এর পরে স্টার বা এ্যাস্টেরিস্ক দিয়ে শুরু এবং স্টার বা এ্যাস্টেরিস্ক এর পরে স্ল্যাশ দিয়ে শেষ করতে হয় ।

উদাহরনঃ

<?php

/* মাল্টি

লাইন

কমেন্ট */

$var = 5 + 5;

echo $var;

?>

 

পিএইচপি কেস সংবেদনশীল (Case Sensitive):

পিএইচপিতে সব কীওয়ার্ড (keyword) যেমনঃ- if, else, while, echo ইত্যাদি , ফাংশন (functions), ক্লাস (classes) , ব্যবহারকারীর তৈরি ফাংশনগুলো (user-defined functions) কেস সংবেদনশীল হয় না ।

উদাহরনঃ

<?php

ECHO “Samsujjaman Bappy<br>”;

echo “Samsujjaman Bappy<br>”;

EcHo “Samsujjaman Bappy<br>”;

?>

আউটপুটঃ

Samsujjaman Bappy

Samsujjaman Bappy

Samsujjaman Bappy

উপরোক্ত উদাহরনের echo statements গুলো একই কাজ করতেছে । এখানে ছোট হাতের অক্ষর এবং বড়হাতের অক্ষর মিলানো কিন্তু তারা একই আউটপুট দিছে কারন তারা পিএইচপির পূর্বনির্ধারিত বাই-ডিফল্ট (default) কীওয়ার্ড (keyword) তাই এগুলো কেস সংবেদনশীল না।

সব ভেরিয়েবল গুলো কেস সংবেদনশীল।

উদাহরনঃ

<?php

$name=”Samsujjaman Bappy”;

echo “My Name is :” . $name. “<br />”;

echo “My Name is :” . $Name . “<br />”;

echo “My Name is :” . $NaME . “<br />”;

?>

আউটপুটঃ

My Name is: Samsujjaman Bappy

My Name is:

My Name is:

উপরোক্ত উদাহরনে শুধুমাত্র প্রথম statement এ $name ভেরিয়েবলের ভেল্যু (value) প্রিন্ট করবে (কারন এখানে $name, $Name, $NaME তিনটা আলাদা ভেরিয়েবল হিসাবে কাজ করতেছে) । সব ভেরিয়েবল গুলো কেস সংবেদনশীল তাই বাকি দুইটা ভেরিয়েবল তার ভেল্যু (value) প্রিন্ট করতেছে না।

পিএইচপি ভেরিয়েবল

ভেরিয়েবলঃ

সব প্রোগ্রামিং ল্যাঙ্গুয়েজ-এর একটি কমন শব্দ হল ভেরিয়েবল। ভেরিয়েবল হল একটি ধারক বা পাত্র যা আমাদের প্রয়োজনীয় সব তথ্য কম্পিউটারের মেমোরীতে জমা রাখতে সাহায্য করে ।

পিএইচপিতে ভেরিয়েবল তৈরিঃ

পিএইচপিতে সব ভেরিয়েবলই শুরু করতে হয় $ চিহ্ন দিয়ে এবং তারপর ভেরিয়েবলের নাম লিখতে হয় । যেমন-

$variable_name = value;
উদাহরণঃ

<?php

$name=”Samsujjaman Bappy”;

$var1=6;

$var2=6.60;

?>

আমরা যদি এখন এই প্রগ্রামটি রান করি তাহলে $name ভেরিয়েবল Samsujjaman Bappy , $var1 ভেরিয়েবল 6 এবং $var2 ভেরিয়েবল 6.60 ভ্যালু জমা রাখবে।

বিঃদ্রঃ যদি আমরা কোন টেক্সটকে ভেরিয়েবলে জমা রাখতে চাই তাহলে টেক্সটকে সিঙ্গল quotes ‘ ‘ অথবা ডাবল quotes ” ” এর মাঝে লিখতে হবে।

পিএইচপিতে অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজ-এর মত আলাদা কোন কমান্ড লিখতে হয় না , প্রথমে যখন আমরা কোন ভেরিয়েবলে ভ্যালু জমা রাখি তখনই তা তৈরি হয়ে যায়।

পিএইচপিতে ভেরিয়েবল:

ভেরিয়েবলের নাম ছোটও হতে পারে(যেমনঃ $a,$b .. ) বা বড় ও হতে পারে (যেমনঃ$username,$password,$full_name, …)।

পিএইচপি ভেরিয়েবলের নিয়মঃ

১। একটি ভেরিয়েবল $ দিয়ে শুরু এবং একটি নাম দিয়ে শেষ হয়।

২। একটি ভেরিয়েবলের নাম অবশ্যই একটি অক্ষর দিয়ে শুরু অথবা আন্ডারস্কোর _ দিয়ে শুরু হবে।

৩। একটি ভেরিয়েবলের নাম কখনোই নাম্বার বা ডিজিট দিয়ে শুরু হতে পারে না ।

৪। একটি ভেরিয়েবলের নামে আলফা-নিউমেরিক অক্ষর এবং আন্ডারস্কোর থাকতে পারে । (a-z, 0-9, _ )

৫। একটি ভেরিয়েবলের নামগুলো কেস সংবেদনশীল ( $name, $Name, $NaME তিনটা আলাদা ভেরিয়েবল )।

৬। একটি ভেরিয়েবলের নাম কখনোই স্পেস থাকা যাবে না।

আউটপুট ভেরিয়েবলঃ

পিএইচপির ইকো (echo) স্টেটমেন্ট অনেক সময় স্ক্রীনে ডেটা প্রিন্ট করতে সাহায্য করে ।

নিচের উদাহরনে দেখানো হয়েছে কিভাবে টেক্সট এবং ভেরিয়েবল প্রিন্ট করে –

<?php

$name=”Samsujjaman Bappy”;

echo “I am $name”;

?>

আউটপুট:

I am Samsujjaman Bappy

নিচের উদাহরণটিও আগের প্রগ্রামের মত আউটপুট প্রিন্ট করবে ।

<?php

$name=”Samsujjaman Bappy”;

echo “I am ” . $name;

?>

আউটপুট:

I am Samsujjaman Bappy

নিচের উদাহরণটি দুইটি সংখ্যার গুনফল দেখাবে –

<?php

$num1=5;

$num2=6;

echo “Multiplication: ” . ($num1*$num2);

?>

 আউটপুটঃ

Multiplication: 30

বিঃদ্রঃ উপরোক্ত উদাহরণগুলোতে আপনারা অবশ্যই দেখেছেন যে , যখন আমরা কোন ভেরিয়েবল তৈরী করেছি তখন আমরা কোন ভেরিয়েবলের ডাটা টাইপ লিখিনি কারন পিএইচপিতে ভেরিয়েবলগুলো তার ডাটা টাইপ অটোমেটিক নিজে নিজেই তার ভেল্যু দেখে ঠিক করে নেয়।

যেমনঃ যদি আমরা লিখি $name= ” Samsujjaman Bappy “ তার মানে সে বুঝে নিবে তার মাঝে যে ভেল্যু দেওয়া হয়েছে তা স্ট্রিং (string ) টাইপ তার মানে সেও স্ট্রিং ভেরিয়েবল হিসাবে কাজ করবে । আবার যদি আমরা লিখি $age=21 তাহলে সে বুঝে নিবে তার মাঝে যে ভেল্যু দেওয়া হয়েছে তা ইন্টিজার (Integer ) টাইপ তার মানে সেও ইন্টিজার ভেরিয়েবল হিসাবে কাজ করবে ।

পিএইচপি ডেটা টাইপ

পিএইচপি ডেটা টাইপঃ

ভেরিয়েবল বিভিন্ন টাইপের ডেটা সংরক্ষন করতে পারে এবং বিভিন্ন ডেটা টাইপ বিভিন্ন কাজ করতে পারে।

পিএইচপি নিচের ডেটা টাইপগুলো নিয়ে কাজ করতে পারে-

স্ট্রিং
ইন্টিজার
ফ্লোট
বুলিয়ান
অ্যারে
অবজেক্ট
নাল

স্ট্রিং টাইপ:

স্ট্রিং হল ধারাবাহিক কতগুলো অক্ষরের সমষ্ঠি । যেমনঃ “Hello World” .

একটি স্ট্রিং যেকোন লিখা বা টেক্স হতে পারে কিন্তু তা অবশ্যই কোটেসনের ভেতরে।এটি সিঙ্গেল ( ‘ ‘ ) অথবা ডাবল ( ” ” ) কোটেসন হতে পারে।

নিচের $var হল একটি স্ট্রিং টাইপ ভেরিয়েবল । নিচের gettype() ফাংশন ডেটা টাইপ রিটার্ন করবে –

উদাহরণঃ

<?php

$var = “Hello World”;

echo $var;

echo “<br />”:

echo gettype($var);

?>

আউটপুটঃ

Hello World

string

ইন্টিজার টাইপ:

ইন্টিজার ডেটা টাইপ হল -2,147,483,648 থেকে 2,147,483,647 মধ্যের যে কোন একটি পূর্ণ সংখ্যা ।

ইন্টিজারের নিয়মঃ

একটি ইন্টিজারে কমপক্ষে একটি ডিজিট থাকতে হবে।
একটি ইন্টিজারে কোন দশমিক বিন্দু থাকবে না ।
একটি ইন্টিজার ধনাত্মক অথবা ঋণাত্মক হবে ।
ইন্টিজারতিন ফরম্যাটেরহতে পারে । যেমনঃ হেক্সাডেসিমেল(Hexadecimal), ডেসিমেল(Decimal), অক্টাল (Octal).
নিচের $var হল একটি ইন্টিজার টাইপ ভেরিয়েবল । নিচের gettype() ফাংশন $var ভেরিয়েবলের ডেটা টাইপ রিটার্ন করবে –

উদাহরণঃ

<?php

$var = 5;

echo $var;

echo “<br />”:

echo gettype($var);

?>

আউটপুটঃ

5

integer

ফ্লোট টাইপঃ

ফ্লোট হল একটি দশমিক বিন্দু বা সূচকীয় আকার সহকারে একটি সংখ্যা ।

নিচের $var হল একটি ফ্লোট টাইপ ভেরিয়েবল । নিচের gettype() ফাংশন  $varভেরিয়েবলের ডেটা টাইপ রিটার্ন করবে –

উদাহরণঃ

<?php

$var = 123.456;

echo $var;

echo “<br />”:

echo gettype($var);

?>

আউটপুটঃ

123.456                                      

float

 

বুলিয়ান টাইপ:

এই টাইপের গ্রহনযোগ্য ভ্যালু হলো সত্য(True) এবং মিথ্যা(False)

$var1 = true;
$var2 = false; 

বুলিয়ান কোন শর্তসাপেক্ষ্য পরীক্ষার জন্য ব্যবহার করা হয় ।

 

অ্যারে টাইপঃ

অ্যারে অনেক গুলো ভেল্যু একটি ভেরিয়েবলে জমা রাখতে সাহায্য করে ।

নিচের $color হল একটি অ্যারে টাইপ ভেরিয়েবল । নিচের gettype() ফাংশন $color ভেরিয়েবলের ডেটা টাইপ রিটার্ন করবে –

উদাহরণঃ

<?php

$color = array(“Red”,”Black”,”Blue”,”Green”);

echo gettype($color);

echo “<br>”;

print_r($color);

?>

আউটপুটঃ

array

Array ( [0] => Red [1] => Black [2] => Blue [3] => Green )

 

print_r স্টেটমেন্টটি $color ভেরিয়েবলের ভেল্যু প্রিন্ট করিতেছে ।

আমরা পরবর্তী অধ্যায়ে অ্যারে সম্পর্কে আরো বিস্তারিত আলোচনা করবো।

 

অবজেক্ট টাইপ:

পিএইচপি ক্লাস থেকে new কিওয়ার্ড ব্যবহার করে আমরা অবজেক্ট ইন্সট্যান্স তৈরি করতে পারি ।যেমনঃ

<?php

class myClass{

……..

……..

}

$object = new myClass();

?>

এখানে $object একটি অবজেক্ট যার ক্লাস হলো myClass । যদি কোন ভ্যারিয়েবল এ স্ট্রিং টাইপের ডাটা থাকে তবে ঐ ভ্যারিয়েবল এর আগে new ব্যবহার করেও আমরা নতুন অবজেক্ট তৈরি করতে পারি । এক্ষেত্রে ঐ ভ্যারিয়েবল এর যে ভ্যালু সেই নামের ক্লাস থেকে পিএইচপি অবজেক্ট তৈরি করার চেষ্টা করবে।

<?php

$var =”Hello World”;

$object = new $var();

?> 

নাল টাইপঃ

যখন কোন ভ্যারিয়েবলের কোন ভ্যালু থাকে না তখন সেটা নাল টাইপ এর হয় । এই টাইপের একমাত্র গ্রহনযোগ্য ভ্যালু হলো null যার মানে ঐ ভ্যারিয়েবল এর কোন ভ্যালু নেই ।পিএইচপি ডেটা টাইপ

পিএইচপি স্ট্রিং এবং ফাংশন

পিএইচপি স্ট্রিং:

স্ট্রিং হল ধারাবাহিক কতগুলো অক্ষরের সমষ্ঠি । যেমনঃ “riponperves.com” .

আজকে আমরা এই টিউটোরিয়ালটিতে সচরাচর ব্যবহৃত পিএইচপি স্ট্রিং এর কতগুলো ফাংশন সম্পর্কে জানব এবং শিখবো।

strlen() ফাংশন:

পিএইচপিতে strlen() ফাংশন স্ট্রিং –এর দৈর্ঘ্য রিটার্ন করে ।

নিচের উদাহরণটি   “riponperves.com” স্ট্রিং –এর দৈর্ঘ্য রিটার্ন করবে ।

<?php
 echo strlen("riponperves.com "); 
 ?>

আউটপুটঃ

15

 

str_word_count() ফাংশন:

পিএইচপিতে str_word_count() ফাংশনটি স্ট্রিং –এ কতগুলো শব্দ (word) আছে তা গণণা করে ।

নিচের উদাহরণটি   “riponperves.com” স্ট্রিং এ কতগুলো শব্দ আছে তা রিটার্ন করবে ।

<?php
 echo str_word_count("freeshikhi.com "); 
 ?>

আউটপুটঃ

2

 

strrev() ফাংশন:

পিএইচপিতে strrev() ফাংশনটি একটি স্ট্রিং এর বিপরীত রুপ প্রকাশ করতে ব্যবহৃত হয় ।

নিচের উদাহরণটি   “riponperves.com” স্ট্রিং এর বিপরীত রুপ প্রকাশ করবে ।

<?php
 echo strrev ("riponperves.com "); 
 ?>

আউটপুটঃ

moc.sevrepnopir

 

strpos() ফাংশন:

পিএইচপিতে strpos() ফাংশনটি একটি স্ট্রিং এর মধ্যে কোন একটি নির্দিষ্ট শব্দকে খুঁজে বের করতে ব্যবহৃত হয় ।

যদি কোন স্ট্রিং এর কোন শব্দ যা কিনা আমরা খুঁজতেছি তার সাথে মিলে যায় তাহলে এই ফাংশনটি সেই শব্দের প্রথম অক্ষরের পজিশন রিটার্ন করবে । আর যদি কোন শব্দের সাথে না মিলে তখন সে false রিটার্ন করবে ।

নিচের উদাহরণটিতে আমরা    “riponperves.com” স্ট্রিং এ com শব্দটি খুঁজতেছি এবং আমরা তা 11 লাইনে “com” শব্দটি পেয়েছি তাই সে 11 রিটার্ন করবে ।

<?php
 echo strpos("riponperves.com", "com");
?>

আউটপুটঃ

11

 

বিঃদ্রঃ কোন স্ট্রিং এর প্রথম অক্ষরের পজিশন হল 0 .

 str_replace()ফাংশন:

পিএইচপিতে strpos() ফাংশনটি একটি স্ট্রিং এর মধ্যে কোন একটি নির্দিষ্ট অক্ষর বা শব্দকে অন্য কোন কোন একটি নির্দিষ্ট অক্ষর বা শব্দ দ্বারা পরিবর্তন করতে ব্যবহৃত হয় ।

<?php
 echo str_replace("com", "net", " riponperves.com ");
 ?>

আউটপুটঃ

riponperves.net

পিএইচপি অপারেটর

পিএইচপিতে অপারেটর হল

অপারেটর হল এক ধরনের চিহ্ন বা প্রতীক যা কোন গানিতিক অথবা লজিক্যাল কাজ কাজ করার জন্য ব্যবহৃত হয় ।

পিএইচপিতে অপারেটরকে নিম্মোক্ত ভাগে ভাগ করা যায়-

এরিথমেটিক অপারেটর
অ্যাসাইনমেন্ট অপেরেটর
কম্প্যারিজন অপারেটর
ইন-ক্রিমেন্ট / ডি-ক্রিমেন্ট অপেরেটর
লজিক্যাল অপারেটর
স্ট্রিং অপারেটর
অ্যারে অপারেটর
নিচে এই অপারেটর গুলো সম্পর্কে আলোচনা করা হল-

১. এরিথমেটিক অপারেটরঃ গানিতিক সমাধান করার জন্য এরিথমেটিক অপারেটর ব্যবহার করা হয় । নিচে পিএইচপিতে ব্যবহৃত এরিথমেটিক অপারেটর গুলর ব্যবহার দেখানো হল-

মনেকরি, $p এবং $q দুইটি ভেরিয়েবল যাদের মান পর্যায়ক্রমে 10 ও 20 ।

অপারেটর
বর্ণনা
উদাহারন
+
দুইটা বা ততধিক ভেরিয়েবল মধ্যে যোগ করার জন্য ব্যবহার করা হয়
$p + $q = 30
-
প্রথম অপারেটর থেকে দ্বিতীয় অপারেটর বিয়োগ করার জন্য ব্যবহার করা হয়
$p - $q = -10
*
দুইটা বা ততধিক ভেরিয়েবল মধ্যে গুন করার জন্য ব্যবহার করা হয়
$p * $q = 200
/
একটি ভেরিয়েবলকে আরেকটি ভেরিয়েবল দ্বারা ভাগ করার জন্য ব্যবহার করা হয়
$q / $p = 2
%
দুটি পূর্ণসংখ্যার মধ্যে ভাগ করে ভাগশেষ পাওয়ার জন্য মডুলাস অপারেটর ব্যবহার করা হয় ।
$q % $p = 0
**
একটি ভেরিয়াবলের ওপর পাওয়ার হিসাবে অন্য একটি ভেরিয়াবল করার জন্য এই অপারাটর ব্যবহার করা হয় । মনে করি , $p = 5 এবং $q=2
$p**$q= 25
 

২.অ্যাসাইনমেন্ট অপেরেটরঃ

পিএইচপিতে ব্যবহৃত অ্যাসাইনমেন্ট অপারেটর গুলোর ব্যবহার নিচে দেখানো হল

অপারেটর
বর্ণনা
উদাহারন
=
সাধারণ অ্যাসাইনমেন্ট অপারেটর যার মাধ্যমে ডান সাইডের ভ্যালুর মান বাম সাইডের ভ্যালুতে অ্যাসাইন করা যায়
$r= $p + $q এখানে $p + $q এর মান $r তে অ্যাসাইন হচ্ছে
+=
অ্যাডিশন এন্ড অ্যাসাইনমেন্ট অপারেটর । এটা বাম সাইডের ভ্যালুর মানের সাথে ডান সাইডের ভ্যালুর মান যোগ করে এবং বাম সাইডের ভ্যালুতে ফলাফল অ্যাসাইন করে দেয়
$r += $p এখানে প্রথমে $r = $r + $p এর কাজ হচ্ছে এর পর ফলাফল $r তে অ্যাসাইন হচ্ছে
-=
সাবট্র্যাক্ট এন্ড অ্যাসাইনমেন্ট অপারেটর । এটা বাম সাইডের ভ্যালুর মানের থেকে ডান সাইডের ভ্যালুর মান যোগ করে এবং বাম সাইডের ভ্যালুতে ফলাফল অ্যাসাইন করে দেয়
$r -= $p এখানে প্রথমে $r = $r – $p এর কাজ হচ্ছে এর পর ফলাফল $r তে অ্যাসাইন হচ্ছে
*=
মাল্টিপ্লাই এন্ড অ্যাসাইনমেন্ট অপারেটর । এটা বাম সাইডের ভ্যালুর মানের সাথে ডান সাইডের ভ্যালুর মান গুন করে এবং বাম সাইডের ভ্যালুতে ফলাফল অ্যাসাইন করে দেয়
$r *= $p এখানে প্রথমে $r = $r * $p এর কাজ হচ্ছে এর পর ফলাফল $r তে অ্যাসাইন হচ্ছে
/=
ডিভাইড এন্ড অ্যাসাইনমেন্ট অপারেটর । এটা বাম সাইডের ভ্যালুর মানকে সাথে ডান সাইডের ভ্যালুর মান দিয়ে ভাগ করে এবং বাম সাইডের ভ্যালুতে ফলাফল অ্যাসাইন করে দেয়
$r /= $p এখানে প্রথমে $r = $r / $p এর কাজ হচ্ছে এর পর ফলাফল $r তে অ্যাসাইন হচ্ছে
%=
মডুলাস এন্ড অ্যাসাইনমেন্ট অপারেটর । এটা বাম সাইডের ভ্যালুর মানকে সাথে ডান সাইডের ভ্যালুর মান দিয়ে মডুলাস করে এবং বাম সাইডের ভ্যালুতে ফলাফল অ্যাসাইন করে দেয়
$r %= $p এখানে প্রথমে $r = $r % $p এর কাজ হচ্ছে এর পর ফলাফল $r তে অ্যাসাইন হচ্ছে
 

৩. কম্প্যারিজন অপারেটর:

কম্প্যারিজন অপারেটর দুইটি ভ্যালুর (নাম্বার বা স্ট্রিং ) মানের মধ্যে তুলনা করতে ব্যবহার করা হয়।

অপারেটর
উদাহারন
বর্ণনা
==
$p == $q
দুইটি ভ্যালুর মানের মধ্যে তুলনা করে, যদি $p ও $q এর ভেল্যুর মান সমান হয় তাহলে সত্য (True) আর সমান না হলে মিথ্যা(false) রিটার্ন করবে ।
!=
$p != $q
দুইটি ভ্যালুর মানের মধ্যে তুলনা করে, যদি $p ও $q এর ভেল্যুর মান সমান না হয় তাহলে সত্য (True) আর সমান হলে মিথ্যা(false) রিটার্ন করবে।
>
$p >   $q
দুইটি ভ্যালুর মানের মধ্যে তুলনা করে, যদি বাম পাশের ভ্যালুর মান ডান পাশের ভ্যালুর মানের চেয়ে বড় হয় তাহলে সত্য (True) আর ছোট হলে মিথ্যা(false) রিটার্ন করবে।
<
$p <   $q
দুইটি ভ্যালুর মানের মধ্যে তুলনা করে, যদি বাম পাশের ভ্যালুর মান ডান পাশের ভ্যালুর মানের চেয়ে ছোট হয় তাহলে সত্য (True) আর ছোট হলে মিথ্যা(false) রিটার্ন করবে।
>=
$p >=   $q
দুইটি ভ্যালুর মানের মধ্যে তুলনা করে, যদি বাম পাশের ভ্যালুর মান ডান পাশের ভ্যালুর মানের চেয়ে বড় অথবা সমান হয় তাহলে সত্য (True) আর ছোট হলে মিথ্যা(false) রিটার্ন করবে।
<=
$p <=   $q
দুইটি ভ্যালুর মানের মধ্যে তুলনা করে, যদি বাম পাশের ভ্যালুর মান ডান পাশের ভ্যালুর মানের চেয়ে ছোট অথবা সমান হয় তাহলে সত্য (True) আর বড় হলে মিথ্যা(false) রিটার্ন করবে।

 

৪. ইন-ক্রিমেন্ট / ডি-ক্রিমেন্ট অপেরেটরঃ

অপারেটর
নাম 
বর্ণনা
++$p
প্রি-ইনক্রিমেন্ট
প্রথমে $p ভেরিয়েবল 1 দ্বারা ইনক্রিমেন্ট হবে তারপর $p রিটার্ন করবে
$p++
পোস্ট-ইনক্রিমেন্ট
প্রথমে $p রিটার্ন করবে তারপর $p ভেরিয়েবল 1 দ্বারা ইনক্রিমেন্ট হবে
-- $p
প্রি-ডিক্রিমেন্ট
প্রথমে $p ভেরিয়েবল 1 দ্বারা ডিক্রিমেন্ট হবে তারপর $p রিটার্ন করবে
$p--
পোস্ট-ডিক্রিমেন্ট
প্রথমে $p রিটার্ন করবে তারপর $p ভেরিয়েবল 1 দ্বারা ডিক্রিমেন্ট হবে
 

৫. লজিক্যাল অপারেটরঃ লজিক্যাল অপারেটর দুইটি বুলিয়ান এক্সপ্রেশনের মধ্যে তুলনা করে এবং ফলাফলের উপর ভিত্তি করে একটি লজিক্যাল (সত্য বা মিথ্যা) ভ্যালুর রিটার্ন বা ফেরত পাঠায়

অপারেটর
নাম
উদাহারন
ফলাফল
And
অ্যান্ড (AND)
$p and $q
সত্য হবে যদি $p এবং $q এর দুইটি ই সত্য হয়
Or
অর ( OR )
$p or $q
সত্য হবে যদি $p অথবা $q এর যেকোন একটি সত্য হয়
Xor
এক্সর (XOR )
$p xor $q
সত্য হবে যদি $p অথবা $q এর যেকোন একটি সত্য হয় কিন্তু যদি যদি $p এবং $q এর দুইটি ই সত্য হয় তাহলে মিথ্যা হবে ।
&&
অ্যান্ড (AND)
$p && $q
সত্য হবে যদি $p এবং $q এর দুইটি ই সত্য হয়
||
অর ( OR )
$p || $q
সত্য হবে যদি $p অথবা $q এর যেকোন একটি সত্য হয়
!
নট (NOT)
!($p)
সত্য হবে যদি $p সত্য না
 

৬.স্ট্রিং অপারেটর:

পিএইচপিতে দুই ধরণের অপারেটর আছে যা শুধুমাত্র স্ট্রিং-কে ডিজাইন করতে ব্যবহৃত হয় ।

অপারেটর
নাম
উদাহারন
ফলাফল
.
কণকেটেনেশন (Concatenation)
$text1 . $text2
দুটো স্ট্রিং কে সংযুক্ত করতে . অপারেটর ব্যবহার করা হয়।
.=
Concatenation assignment
$text1 .= text2
$text2 কে $text1 সাথে যুক্ত করতে .= অপারেটর ব্যবহার করা হয়।
 

৭.অ্যারে অপারেটরঃ

পিএইচপিতে অ্যারে অপারেটর গুলো অ্যারের মধ্যে তুলনা করতে ব্যবহার করা হয়।

অপারেটর
উদাহারন
ফলাফল 
+
$p + $q
$p এবং $q কে যুক্ত করে
==
$p == $q
সত্য (True) রিটার্ন করে যদি $p এবং $q এর একই ভেল্যু যুগল থাকে ।
===
$p === $q
সত্য (True) রিটার্ন করে যদি $p এবং $q এর একই ভেল্যু যুগল থাকে এবং তারা একই অর্ডারে (order) এবং একই টাইপের হয় ।
!=
$p !=  $q
সত্য (True) রিটার্ন করে যদি $p ভেরিয়েবল, $q ভেরিয়েবল এর সমান না হয়।
   <>
$p < >   $q
সত্য (True) রিটার্ন করে যদি $p ভেরিয়েবল , $q ভেরিয়েবল এর সমান না হয়।
!==
$p !== $q
সত্য (True) রিটার্ন করে যদি $p এবং $q এর একই ভেল্যু যুগল না থাকে এবং তারা একই অর্ডারে (order) এবং একই টাইপের না হয় ।

 

পিএইচপি কনস্ট্যান্ট

কনস্ট্যান্ট মানে হল স্থির বা অপরিবর্তনীয় যার ভেল্যু আমরা পরিবর্তন করতে পারি না । কনস্ট্যান্ট হিসেবে আমরা খুব সিম্পল ভ্যালু সংরক্ষণ করতে পারি । define ব্যবহার করে আমরা কন্সট্যান্ট তৈরি করতে পারি ।

define(name, value, case-insensitive)

name: এটা কনস্ট্যান্ট এর নাম

value: এটা কনস্ট্যান্ট এর ভেল্যু নির্দেশ করে ।

case-insensitive: এটা নির্দেশ করে যে কনস্ট্যান্ট এর নাম কেস-সেন্সেটিভ হবে কিনা । সাধারনত এটা মিথ্যা (false)থাকে।

নিচের উদাহরনটিগুলোতে কেস-সেন্সেটিভ এর উদাহরন দেয়া হল –

 

<?php

define("MESSAGE", "www.riponperves.com");

echo MESSAGE;

?>

 

আউটপুটঃ

www.riponperves.com

 

<?php

define("MESSAGE", "www.riponperves.com");

echo MeSsAgE;

?>

 

আউটপুটঃ

Notice: Use of undefined constant MeSsAgE - assumed 'MeSsAgE' in …… on line 3

MeSsAgE

 

কিন্তু যদি একে আমরা এভাবে লিখি তাহলে আর আমাদের error দেখাবে না ।

 

<?php

define("MESSAGE", www.riponperves.com,true);

echo MeSsAgE;

?>

 

এবার আউটপুট দেখাবে এইরকম –

 

www.riponperves.com

 

 

error: Content is protected !!