ওয়েব পেজে পিএইচপির ব্যবহার
যদিও পিএইচপি একটি সাধারন স্ক্রিপটিং ল্যাঙ্গুয়েজ (কম্পাইল করার প্রয়োজন হয় না) তবু একে অন্যভাবেও ব্যবহার করা যায়। এটি সার্ভার সাইড স্ক্রিপটিং ল্যাঙ্গুয়েজ হিসেবে ওয়েব পেজ তৈরিতে ব্যবহৃত হয়।
পিএইচপি পার্সার(একটি কোডকে পিএইচপি কোড হিসেবে বর্ণনাকারী) পিএইচপি ট্যাগের বাইরের কিছু পার্স(গ্রহণ/বর্ণনা) করবে না। পিএইচপি ট্যাগের বাইরের কোড গুলো সরাসরি আউটপুটে চলে যাবে। এভাবে পিএইচপিকে এইচটিএমএল এর মাঝে লেখা হয়।
পিএইচপি তে কোড লেখার কিছু উপায় আছে। তবে নিচের টেবিলের প্রথম দুটি সাধারণত ব্যবহৃত হয়।
Type | Open | Close | Note |
Standard | <?php | ?> | |
Echo | <?= | ?> | |
Short | <? | ?> | Deprecated |
Script | <script language="php"> | </script> | Do not use |
ASP | <% | %> | Deprecated |
Echo ট্যাগের মাধ্যমে পিএইচপি ভেরিয়েবল show করা হয় এবং এইচটিএমএল ডকুমেন্ট read করার সুবিধার্থে shortened ট্যাগটি ব্যবহৃত হয়। যখন আপনি একটি পেজে ভিন্ন ভিন্ন স্থানে ভিন্ন ভিন্ন value শো করতে চান তখন shortened ট্যাগটি ব্যবহৃত হয়। Short সিনট্যাক্স ব্যবহার করলে কোড পরিছন্ন থাকে। নিচের দুটি ট্যাগ একই:
<?= $variable ?>
<?php echo $variable ?>
নোট: উপরের echo স্টেটমেন্ট একটি ক্লোজিং ট্যাগের শেষ স্টেটমেন্ট হওয়ায় এটি terminate(শেষ) করতে সেমিকোলন ব্যবহারের প্রয়োজন নেই।
ওপেনিং এবং ক্লোজিং ট্যাগের মাঝে নিচের মত করে পিএইচপি লজিক ব্যবহার করা যায়।
Balance:
<?php
if ($bankBalance > 0): ?>
<p class="black">
<?php else: ?>
<p class="red">
<?php endif; ?>
<?= $bankBalance?>
</p>
উপরের কোডের বিশ্লেষণ:
১.পিএইচপি পার্সার Balance কে গণ্য না করেই আউটপুটে দেখাবে কারণ এটি পিএসপি ট্যাগের মধ্যে নেই।
২. এরপর পিএইচপি ট্যাগ চেক করবে যে ব্যালেন্স জিরো থেকে বড় কিনা। যদি কন্ডিশন true হয় তবে <p class="black"> আউটপুটে দেখাবে অন্যথায় <p class="red"> আউটপুটে দেখাবে।
৩. এরপর echo ট্যাগ ব্যবহার করা হয়েছে $bankBalance ভেরিয়েবলের আউটপুট দেখানোর জন্য।
৪. সবশেষে ক্লোজিং প্যারাগ্রাফ ট্যাগ(</p>) আউটপুটে আসবে পার্সড না হয়েই কারণ পিএইচপি স্ক্রিপ্ট ক্লোজ হয়ে গেছে।
নোট: যদি if স্টেটমেন্ট এ curly ব্র্যাকেট({}) ব্যবহার করা হয় তবুও উপরের পদ্ধতি কাজ করবে।
একটি ফাইলে পিএসপি প্রোগ্রাম লেখার ক্ষেত্রে সাধারণত ফাইলের শেষের ক্লোজিং ট্যাগ বাদ দেয়া হয়। এটি php পার্সার এর কাছে গ্রহণযোগ্য এবং নিউ লাইন ক্যারেক্টার সমস্যার সমাধানের জন্য উপযুক্ত পদ্ধতি যেটি ক্লোজিং ট্যাগের পরে আসে।
এই নিউ লাইন ক্যারেক্টারগুলো পিএইচপি ইন্টারপ্রিটার কর্তৃক আউটপুট হিসেবে যায় এবং HTTP হেডারে হস্তক্ষেপ করতে পারে অথবা অপ্রত্যাশিত সাইড ইফেক্ট সৃষ্টি করতে পারে। তাই যদি আপনি পিএইচপি ফাইল এর শেষের ক্লোজিং ট্যাগ না দেন তবে নিউ লাইন ক্যারেক্টার আউটপুটে যাওয়াকে প্রতিরোধ করতে পারেন।