Friday, May 3, 2024
Homeবিজ্ঞান ও প্রযুক্তিসহজ বাংলায় পিএইচপি

সহজ বাংলায় পিএইচপি

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

সূচীপত্র


পিএইচপি কি?

PHP Logo

পিএইচপি (PHP) একটি বহুল ব্যবহৃত ওপেন সোর্স স্ক্রিপ্টিং ভাষা যা বিশেষভাবে ওয়েব ডেভেলপমেন্টের জন্য ব্যবহৃত হয়। পিএইচপির মধ্যে এইচটিএমএল কোডকে এমবেডেড করে দেয়া যায়। এটি সার্ভার-সাইড স্ক্রিপ্টিংয়ের জন্য ব্যবহৃত হয়। মূলত ডাইনামিক ওয়েব পেজ তৈরির জন্যই এর ডিজাইন করা হয়েছে। শুরুতেই পিএইচপির পরিচিতিমূলক একটি উদাহরণ দেয়া হলো-

<!DOCTYPE html>
<html>
    <head>
        <title>Example</title>
    </head>
    <body>

        <?php
            echo "Hi, I'm a PHP script!";
        ?>
    </body>
</html>

এখানে এইচটিএমএল কোডের মধ্যে পিএইচপি কোডকে এমবেডেড করে দেয়া হয়েছে। কোডটির আউটপুট হবে- Hi, I'm a PHP script!

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

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

পিএইচপির ইতিহাস

১৯৯৫ সালে রাসমুস লারডরফ সি ভাষা (C programming language) দিয়ে সিজিআই (CGI- Common Gateway Interface) বাইনারির একটি সেট হিসেবে পিএইচপি উদ্ভাবন করেন। মূলত তার অনলাইন বায়োডাটার ভিজিটর সংখ্যা ট্র্যাকিং করার জন্য ‘পার্সোনাল হোমপেজ টুলস (Personal Home Page Tools)’ সংক্ষেপে ‘পিএইচপি টুলস (PHP Tools)’ নামের স্ক্রিপ্ট সংকলনটি ব্যবহার করেন। সময়ের সাথে সাথে, লারডফ আরো বৃহৎ ও উন্নত আকারে এর কার্যকারিতা ও ফিচার বাড়ানোর জন্য স্ক্রিপ্ট লিখে টুলসে যোগ করতে থাকেন। যা ডাটাবেজ ইন্টারএ্যাকশন, ইউজারকে গেস্টবুকের মতো ডাইনামিক ওয়েব এপ্লিকেশন ফ্রেমওয়ার্ক প্রদানের সক্ষম হয়। কোড বাগ (code bugs) সংশোধন করা এবং একে  আরো উন্নত করার জন্য রামসুম লারডফ ১৯৯৫ সালের জুন মাসে পিএইচপি টুলসের সোর্স কোড সকলের জন্য উন্মুক্ত করে দেন।

ওই বছরেরই সেপ্টেম্বর মাসে একটি স্বল্প সময়ের জন্য রাসমুস পিএইচটি নামটি বাদ দেন। এখন যে ফাংশনগুলো আমরা ব্যবহার করি এরকম কিছু মৌলিক ফাংশন যেমন পার্ল ভাষার মতো ভ্যারিয়েবল, ফরম ভ্যারিয়েবলের স্বয়ংক্রিয় ইন্টারপ্রিটেশন এবং এইচটিএমএল এমবেডেড সিনট্যাক্স যোগ করে টুলটির নাম দেন এফআই (FI- Forms Interpreter)। সিনট্যাক্সগুলো ছিল পার্ল ভাষার মতোই, কিছু সংক্ষিপ্ত, কিছুটা অসঙ্গত ধরণের। বস্তুত এইচটিএমএল ফাইলে কোডকে এমবেড করার জন্য ডেভেলপারদের এইচটিএমএল কমেন্ট ব্যবহার করার প্রয়োজন হতো। তারপরও এফআই একটি সিজিআই টুল হিসেবে জনপ্রিয়তা পেতে থাকে। ১৯৯৫ সালের অক্টোবর মাসে লারডরফ পুরোনো নাম ফিরিয়ে এনে “Personal Home Page Construction Kit” নামে টুলটিকে সংশোধন করে একটি এডভান্স স্ক্রিপ্টটিং টুল হিসেবে প্রকাশ করেন।

পরে ১৯৯৬ সালের এপ্রিল মাসে কোডটিকে সম্পূর্ণভাবে সাজিয়ে এটিকে স্ক্রিপ্টের সংকরণ থেকে বিকশিত করে পিএইচপি নামে একটি প্রোগ্রামিং ভাষা হিসেবে প্রকাশ করেন। তখন ডাটাবেজ ম্যানেজমেন্টের জন্য বিল্টইন সাপোর্ট, এমএসকিউএল (mSQL), কুকিজ, ইউজার ডিফাইন্ড ফাংশনসহ আরো অনেক কিছু এতে সংযোজন করা হয়। 1997 সালের নভেম্বর মাসে পিএইচপির দ্বিতীয় সংস্করণ (PHP 2.0) প্রকাশ করা হয়।

এভাবে প্রতিনিয়ত পিএইচপির জনপ্রিয়তা বাড়তে থাকে। 1998 সালে নেটক্রাফটের একটি জরিপে উঠে আসে, তখনকার সময়েই প্রায় 60 হাজার ডোমেইনের হেডার পিএইচপি দিয়ে তৈরি।

1997 সালে অ্যান্ডি গাটম্যানস ও যিভ সুরাস্কি নামে দুইজন ইসরায়েলী প্রোগ্রামার তাদের একটি প্রজেক্টের জন্য ই-কমার্স এপ্লিকেশন ডেভেলপ করতে গিয়ে পিএইচপির কিছু সীমাবদ্ধতা দেখতে পান। তখন তারা দুজন রাসমুস লারডরফের সাথে আলোচনা করে একে আরো সমৃদ্ধ করে পিএইচপির তৃতীয় সংস্করণ PHP3 (3.0) রিলিজ করেন এবং পিএইচপি/পিআইকে পরিবর্তিত করে এর নাম রাখেন PHP: Hypertext Preprocessor।

পরবর্তীতে 1998 সালে PHP4 এবং 2005 সালের জুলাই মাসে PHP5 রিলিজ হয়েছে। পিএইচপির সর্বশেষ রিলিজ দেখুন।

পিএইচপির শুরু

পিএইচপি শুরু করার আগে কিছু কথা বলে নেয়া দরকার। পিএইচপি আর এইচটিএমএল দুটোর মধ্যে একটি সাধারণ পার্থক্য হলো এইচটিএমএল সরাসরি কাজ করে আর পিএইচপি সার্ভারে কাজ করে। তাই ব্রাউজারে এইচটিএমএল সোর্স কোড দেখা যায় কিন্তু পিএইচপি সোর্স কোড দেখা যায় না। আমরা যেভাবে এইচটিএমএল কোড বা পেইজ ব্রাউজারে রান করি পিএইচপি সেভাবে রান হয় না। পিএইচপি রান করতে হলে সার্ভারের মাধ্যমে রান করতে হবে। ডেভেলপের সময় টেস্ট করার জন্য আমাদের পিসিকে সার্ভার হিসেবে ব্যবহার করতে পারি। এজন্য বেশ কয়েকটি পদ্ধতি এবং সফটওয়্যার রয়েছে। একেকটি সফটওয়্যার একেক পদ্ধতিতে কাজ করে। তাই পিএইচপির জন্য যে সব সফটওয়্যার আপনার কম্পিউটারে ইনস্টল করতে হবে সেগুলো হলো- পিএইচপি (php), সার্ভারের জন্য এপাচি (apache), ডাটাবেজের জন্য মাইএসকিউএল (mysql)। পিএইচপি ব্যবহারের বেশ কয়েকটি পদ্ধতি হলো- সরাসরি পিএইচপি-এপাচি-মাইএসকিউএল ইনস্টল করে নেয়া অথবা অনেকগুচ্ছ সফটওয়্যার আছে যেগুলোর মাধ্যমে সবগুলো একসাথে ইনস্টল করে ব্যবহার করা যায়। যেমন- XAMPP, wamp আরো অনেক। এই বইয়ে আমরা XAMPP সফটওয়্যার ব্যবহার করবো। এটি বিনামূল্যে এপাচির ওয়েবসাইট থেকে ডাউনলোড করে ইনস্টল করে নিতে পারেন।

ব্রাউজারে পিএইচপি ফাইল চালনাকরণ

  • XAMPP ইনস্টল করার পর ডেস্কটপ থেকে চালু করুন। যে উইন্ডোটি আসবে সেখান থেকে পিএইচপি এবং মাইএসকিউএল স্টার্ট করুন।
  • এবার আপনার কাঙ্খিত পিএইচপি ফাইলটি C:\xampp\htdocs লোকেশনে রাখুন।
  • ফাইলটির নাম helloworld.php হলে সেটি ডিসপ্লে করার জন্য ব্রাউজারের এড্রেসবারে http://localhost/helloworld.php লিখে এন্টার বাটন চাপুন।


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

xampp control panel

এই অধ্যায়ে, আমরা পিএইচপি স্ক্রিপ্ট লেখার মৌলিক বিষয়- পিএইচপি স্টেটমেন্ট লেখার নিয়মগুলো শিখব। এই বিষয়গুলো সাধারণ ব্যাকরণ বা যতিচিহ্নের নিয়মগুলোর মতোই।

কিভাবে পিএইচপি কাজ করে

পিএইচপি সফটওয়্যারটি ওয়েব সার্ভারের সাথে কাজ করে, যে সফটওয়্যার আপনার ওয়েবপেজগুলোকে পৃথিবীতে উন্মুক্ত করে দিবে। যখন আপনি ব্রাউজারের এড্রেসবারে একটি ইউআরএল (URL- uniform resource locator) টাইপ করে এন্টার চাপেন তখন আসলে আপনি একটি নির্দিষ্ট নির্দেশ সার্ভারে প্রেরণ করেন এবং সার্ভার আপনাকে একটি এইচটিএমএল ফাইল প্রেরণ করে। অর্থাৎ সার্ভার চাহিত ফাইলটি প্রেরণের মাধ্যমে আপনার প্রশ্নের উত্তর দেয়। আর সেখানে আপনার ব্রাউজার সেই এইচটিএমএল ফাইলটি পড়ে কনটেন্টগুলো আপনাকে সুন্দরভাবে সাজিয়েগুছিয়ে উপস্থাপন করে।

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

আরো নির্দিষ্ট করে বলতে হলে, যখন পিএইপি ইনস্টল করা হয়, ওয়েব সার্ভার নির্দিষ্ট পিএইচপি স্টেটমেন্ট সম্বলিত নির্দিষ্ট এক্সটেনশনের ফাইলকেই প্রসেস করার প্রত্যাশা করে। পিএইচপির এক্সটেনশন .php অথবা .phtml হয়ে থাকে। এই বইয়ে আমরা পিএইচপির এক্সটেনশন হিসেবে .php ব্যবহার করব।

ব্যবহারকারী কোন নির্দেশ এইচটিএমএল এর মাধ্যমে সার্ভারে প্রেরণ করে, সার্ভারে রক্ষিত পিএইচপি স্টেটমেন্ট বা স্ক্রিপ্ট সেটিকে প্রসেস করে পুনরায় একটি এইচটিএমএল প্রতিউত্তর ব্রাউজারে পাঠায়। এজন্য পিএইচপি কোড সাধারণত ব্যবহারকারী দেখতে পায় না। উদাহরণ স্বরুপ, <?php হলো পিএইচপি শুরু করার ট্যাগ এবং ?> হলো শেষ করার ট্যাগ।

<?php echo “<p>Hello World</p>”; ?>

এখানে ইকো (echo) হলো একটি পিএইচপি নির্দেশ, যা পিএইচপিকে লেখাটির আউটপুট দেখাতে বলে। পিএইচপি উপরের লাইনটি প্রসেস করে নিচের মতো করে একটি এইচটিএমএল নির্দেশ ব্রাউজারে পাঠায়-

<p>Hello World</p>

ব্রাউজার এটিকে এইচটিএমএল কোডে রূপান্তরিত করে ওয়েব পেজটির একটি প্যারাগ্রাফের মধ্যে লেখাটি দেখায়- Hello World। পিএইচপি স্টেটমেন্টটা কিন্তু ব্রাউজারে পাঠানো হয় না, তাই ব্যবহারকারী কখনোই এই স্টেটমেন্টটা দেখতে পায়না। পিএইচপি এবং ওয়েব সার্ভার দুইজনেই খুব কাছাকাছিভাবে একসাথে কাজ করে।

পিএইচপি সব ওয়েব সার্ভারের সাথে কাজ না করলেও অনেক জনপ্রিয় ওয়েব সার্ভারের সাথে কাজ করে। পিএইচপি এপাচি (Apache)  ওয়েব সার্ভারের সঙ্গে ভাল কাজ করে। পিএইচপি মাইক্রোসফট আইআইএস (IIS- internet information service) এবং অন্যদের সাথেও কাজ করে।

পিএইচপি  স্ক্রিপ্টের গঠন

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

<?php         ?>

ইচ্ছে করলে পিএইচপির  এই <?   ?> শর্ট ট্যাগও ব্যবহার করা যায়। তবে পিএইচপির এই সংক্ষিপ্ত ট্যাগটি ব্যবহার করার ক্ষেত্রে অবশ্যই সতর্কতা অবলম্বন করতে হবে। যে সার্ভারে স্ক্রিপ্টটি রান করবে সেখানে যদি এটি এক্টিভেট করা না থাকে তাহলে এই সংক্ষিপ্ত ট্যাগটি কাজ করবে না।

উদাহরণস্বরূপ আমরা একটি সাধারণ এইচটিএমএল ও পিএইচপি স্ক্রিপ্ট লিখে ব্রাউজারে ডিসপ্লে করতে পারি।

<!doctype html>
<html>
<head>
<title>Hello World Script</title>
</head>
<body>
<p>Hello World!</p>
</body>
</html>

এই স্ক্রিপ্টটি ব্রাউজারে ওপেন করলে নিচের লেখাটি দেখাবে-

Hello World!

একই কাজটি পিএইচপিতেও করা যাবে, যেটি ব্রাউজারে Hello World! লেখাটি দেখাবে। সেজন্য স্ক্রিপ্টটি লিখতে হবে এভাবে-

<!doctype html>
<html>
<head>
<title>Hello World Script</title>
</head>
<body>
<?php
echo “<p>Hello World!</p>\n”;
?>
</body>
</html>

এই স্ক্রিপ্টটি ব্রাউজারে রান করানো হলে এটিও পূর্ববর্তী এইচটিএমএল স্ক্রিপ্টটির মতো Hello World! লেখাটি ডিসপ্লে করবে। কিন্তু এটি এখন আমরা করছি পিএইচপির মাধ্যমে।

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

আমরা এইচটিএমএল ফাইলটিতে যে পিএইচপি সেকশনটি যুক্ত করেছি সেটি কতক পিএইচপি স্টেটমেন্ট দিয়ে তৈরি। প্রত্যেকটি স্টেটমেন্ট একেকটি নির্দেশ যা পিএইচপিকে কিছু করতে বলছে। এখানে আমরা পিএইচপি স্টেটমেন্টগুলোকে সিম্পল এবং কমপ্লেক্স দুইভাগে ভাগ করতে পারি।

সিম্পল স্টেটমেন্টের ব্যবহার

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

  • একটি পিএইচপি স্টেটমেন্ট একটি সেমিকোলন বা পিএইচপি ক্লোজিং ট্যাগ দিয়ে শেষ হয়। পিএইচপি খালি জায়গা বা লাইনের শেষ কোথায় তা বুঝতে পারে না। যতক্ষণ না সে কোন সেমিকোলন বা ক্লোজিং ট্যাগ না পায় ততক্ষণ একাধারে পড়তেই থাকে সেখানে যতগুলো লাইনই থাকুক না কেন।
  • পিএইচপি স্টেটমেন্ট বড়হাতের অক্ষর (uppercase) এবং ছোটহাতের অক্ষর (lowercase) দুইভাবেই লেখা যায়। একটি ইকো স্টেটমেন্টে Echo, echo, ECHO, eCHo যে কোনভাবেই ব্যবহার করা যায়। কিন্তু পিএইচপিতে ভ্যারিয়েবল নাম কেইজ সেনসিটিভ।

নিচের স্টেটমেন্টটি একটি সঠিক পিএইচপি স্টেটমেন্ট যার আউটপুটটি আমরা আগে দেখেছি-

<?php echo “<p>Hello World!</p>” ?>

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

<?php
echo “<p>Hello</p>”; echo “<p>World</p>”;
?>
কমপ্লেক্স স্টেটমেন্টের ব্যবহার

কয়েকটি সিম্পল স্টেটমেন্ট মিলে একটি ব্লক তৈরি হয়। একটি ব্লক {} কোঁকড়ানো বন্ধনী (সেকেন্ড ব্র্যাকেট) দিয়ে আবদ্ধ করা হয়। একটি ব্লক স্টেটমেন্ট একসাথে এক্সিকিউট হয়। কন্ডিশনাল স্টেটমেন্ট বা ব্লকে সাধারণত এর ব্যবহার হয়, যেখানে স্টেটমেন্টের কন্ডিশন সত্য হলে স্টেটমেন্টটি এক্সিকিউট হয়। উদাহরণস্বরুপ আমরা নিচের স্ক্রিপ্টটি দেখতে পারি-

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

এই স্টেটমেন্টটি কোকড়ানো বন্ধনী দিয়ে আবদ্ধ করা হয়েছে। যদি আকাশ নীল হয় তাহলে Mr & Mrs Khan ready to go for a walk in the park এক্সিকিউট হবে। আর যদি আকাশ নীল না হয় তাহলে স্টেটমেন্টটি এক্সিকিউট হবে না। পিএইচপি স্টেটমেন্টে যেখানে ইফ (if) এর মতো ব্লক স্টেটমেন্ট ব্যবহার করা হয় সেগুলো কমপ্লেক্স স্টেটমেন্ট। ব্লক স্টেটমেন্টে পিএইচপি প্রথম যখন সেমিকোলন পায় তখনই থেমে না গিয়ে পুরো ব্র্যাকেট পর্যন্ত গিয়ে শেষ হয় এবং স্টেটমেন্টটি এক্সিকিউট করে। এখানে ব্র্যাকেটটি শেষ হওয়ার আগেই সেমিকোলন দেয়া হয়েছে। ব্র্যাকেটের পর কোন সেমিকোলন দেয়ার প্রয়োজন নেই।

x

নারুল মিয়া
নারুল মিয়াhttps://tiltony.com
নারুল মিয়া আমার ডাকনাম। যদিও এই নামে দু’একজনের বেশি আমাকে চিনেন না। আমার দূর সম্পর্কের এক নানী খুব আদর করে এই নামে ডাকতেন। আমার আসল নাম মো. মনিরুজ্জামান। লিখতে ভালোবাসি। চলার পথে যেসব বিষয়ের সম্মুখীন হয়েছি সাধারণত সেগুলো নিয়ে লিখি, নিজের মতো করে।
RELATED ARTICLES
- Advertisment -

Most Popular

Recent Comments