هر چیزی که خارج از تگ های باز و بسته PHP قرار بگیره، توسط مفسر PHP نادیده گرفته میشه. همین موضوع به فایل های PHP اجازه میده تا محتوای ترکیبی داشته باشند.
پس میتونیم در یک فایل php هم کدهای php و هم کدهای HTML رو داشته باشیم. مثلا میتونیم یک الگو یا template داشته باشیم.
مثلا میتونیم با php یک تکرار مشخص از کدهای HTML رو به خروجی بدیم یا خروجی متناسب با برقراری یا عدم برقراری یک سری شرط داشته باشیم.
<p>This is going to be ignored by PHP and displayed by the browser.</p>
<?php echo 'While this is going to be parsed.'; ?>
<p>This will also be ignored by PHP and displayed by the browser.</p>
پس مفسر وقتی تگ باز رو میبینه، از همونجا تا جایی که تگ بسته ببینه، همه کدها رو از جنس PHP میبینه و قصد داره تفسیر و اجراش کنه.
به محض دیدن تگ بسته، تادیدن تگ باز بعدی، همه چیز رو خارج از PHP میبینه. به عبارتی هرچی بیاد رو HTML می بینه و به صورت کد PHP تفسیر نمیکنه.
<?php if ($expression == true): ?>
This will show if the expression is true.
<?php else: ?>
Otherwise this will show.
<?php endif; ?>
در مثال بالا با PHP خروجی صفحه رو شرطی سازی کردیم.
گفتیم اگه متغییر $expression
برابر true بود، عبارت This will show if the expression is true.
رو چاپ کن، در غیر اینصورت عبارت Otherwise this will show.
رو چاپ کن.
مواقعی که میخوایم متن یا کدهای HTML طولانی رو چاپ کنیم، دیگه از دستور echo استفاده نمی کنیم. بهترین کار اینه موقتا php رو ببندیم، بعد هر جا نیاز شد مجددا php بنویسیم.
نکته: اگر PHP درون XML یا XHML تعبیه شده باشه، باید حتما از فرم اصلی تگ های باز و بسته (<?php ... ?>
) استفاده کنیم و نمیتونیم از فرم کوتاه استفاده کنیم.
مثال دیگه:
<?php for ($i = 0; $i < 5; ++$i): ?>
Hello, there!
<?php endfor; ?>
کد بالا هم یک فرآیند تکراریه که 4 مرتبه متن مورد نظر رو چاپ میکنه:
خروجی:
Hello, there!
Hello, there!
Hello, there!
Hello, there!
آخرین مطالب کتابچه راهنمای PHP
منبع: php.net