PHP یکی از پرکاربردترین زبان های برنامه نویسی در توسعه وب است. یکی از مهم ترین ویژگی های این زبان ارائه روش های محدودسازی مختلف است. بیایید نگاهی کوتاه به باز و بسته شدن تگ های PHP بیندازیم:

  • <?php ?>
  • <?= ?>
  • <? ?>
  • <% %>

برای استفاده موثرتر از PHP لازم است تفاوت ها و اهمیت این تگ ها را درک کنید. در این مقاله نحوه استفاده موثر از تگ های PHP را یاد خواهیم گرفت.

چرا نباید از برچسب های کوتاه PHP استفاده کنیم؟

تگ های کوتاه PHP می توانند برای سهولت و سرعت کدنویسی مفیدتر باشند. با این حال، در اکثر هاست ها و سرورها به طور پیش فرض در پیکربندی PHP.ini غیرفعال است. در پیکربندی PHP.ini برای کار کردن این تگ های کوتاه short_open_tag گزینه باید فعال شود بنابراین تنها روشی که قطعاً روی هر سرور PHP کار خواهد کرد، این است . اگر در نظر دارید PHP خود را در سروری که کنترل آن را ندارید مستقر کنید، همیشه می توانید <?php ?> شما باید از روش استفاده کنید.

کوتاه PHP Echo Tag و PHP.ini

<?php echo() ?>

در PHP <?= تگ در پیکربندی PHP short_open_tag می توان از آن استفاده کرد چه گزینه فعال باشد یا نه، بنابراین می توانید با خیال راحت از این میانبر به جای مورد بالا استفاده کنید.
اگر فقط برای خود کد می نویسید و می توانید پیکربندی PHP مورد استفاده خود را کنترل کنید، ممکن است تگ های کوتاه مفیدتر باشند. اما این را به خاطر بسپار <? ?> تگ ممکن است با اعلان های XML تضاد داشته باشد. همچنین <% %> تگ در واقع سبک ASP است.

PHP بستن برچسب ها و مشکلات احتمالی آنها

بستن یک فایل PHP خالص (به عنوان مثال، فایلی که فقط دارای تعریف کلاس باشد) ?> هنگام اضافه کردن برچسب، مراقب باشید که هیچ خط خالی را پشت سر نگذارید. در حالی که مفسر PHP می تواند با خیال راحت یک کاراکتر شکست خط را پس از تگ بسته شدن "اجرا" کند، ممکن است شکستگی های خط دیگری به مرورگر خروجی شود. اگر در آن زمان هدرهای HTTP را می نویسید، همه چیز می تواند گیج کننده تر شود.

PHP PSR-2

استاندارد کد نویسی PSR-2 بخشی از استانداردهای کدگذاری PHP PSR است که برای تعیین بهترین شیوه ها در PHP ایجاد شده است. استانداردهای کدنویسی PSR-2 فقط برای فایل های حاوی کد PHP اعمال می شود. ?> توصیه می کند از برچسب های بسته استفاده نکنید. دلیل اصلی این توصیه این است که از ارسال کاراکترهایی مانند فاصله یا خط شکسته به طور تصادفی پس از تگ بسته شدن به مرورگر جلوگیری شود. در PHP، ?> هر کاراکتری که از تگ پیروی می کند به طور خودکار بخشی از خروجی HTML در نظر گرفته می شود. این می تواند به ویژه در هنگام پردازش هدرهای HTTP مشکل ساز باشد.

کاراکترهای غیر ضروری در انتهای یک فایل PHP می توانند از پردازش صحیح هدرهای HTTP جلوگیری کنند. در پروتکل HTTP، هر خروجی، ارسال هدرها را غیرممکن می کند، زیرا هدرها باید قبل از ارسال محتوا تکمیل شوند. این امر باعث ایجاد مشکلی به نام هدرهای ارسال شده از قبل می شود که می تواند بر اقداماتی مانند شروع یک جلسه، تنظیم یک کوکی یا تغییر مسیر یک صفحه تأثیر بگذارد.

بنابراین، PSR-2 توصیه می‌کند از برچسب بسته شدن در فایل‌هایی که فقط حاوی کد PHP هستند، استفاده نکنید تا از چنین خطاهای رایج جلوگیری شود و پاکی کد حفظ شود. این رویکرد مشکلات احتمالی را که ممکن است به دلیل فضاهای ناخواسته یا کاراکترهای انتهای خط در انتهای کد رخ دهد حذف می کند و به عملکرد پایدارتر و بدون خطا اسکریپت های PHP کمک می کند.

PHP برچسب ها و سازگاری

هنگام نوشتن برنامه های وب برای نسخه های قدیمی تر، بسته شدن ?> html با برچسب ها <!doctype> مراقب باشید که خط جدیدی بین تگ ها باقی نگذارید. نسخه‌های قدیمی‌تر IE ممکن است در صورت مواجهه با فضاهای خالی، از جمله خطوط جدید، قبل از اعلان doctype، خطاهای مختلفی ایجاد کنند. این مورد در مورد نسخه های جدیدتر IE و سایر مرورگرهای پیشرفته تر صدق نمی کند. (یعنی برای هر مرورگری غیر از IE.)