طراحی وب سایت کتابخانه

طراحی وب سایت کتابخانه

فرار کردن از کدهای اچ تی ام ال

سه شنبه, ۵ اسفند ۱۳۹۳، ۱۲:۳۷ ب.ظ

     همانطور که قبلا نیز گفته شد، هر چیزی که خارج از تگهای ابتدایی و انتهایی کدهای پی اچ پی قرار داشته باشد، توسط موتور پی اچ پی نادیده گرفته می شود. با استفاده از این خاصیت پی اچ پی می توان فایلهای پی اچ پی را به فایلهای ترکیبی تبدیل کرد. بدین ترتیب می توانیم به راحتی فایل های اچ تی ام ال را در داخل یک فایل پی اچ پی قرار دهیم. این ویژگی در بسیاری موارد می تواند به ما کمک کند، مثلا زمانی که می خواهیم کی فایل تم (Template) را ایجاد کنیم. 

     این روش خیلی خوب جواب می دهد! چون هنگامی که موتور پی اچ پی به تگ انتهایی پی اچ پی می رسد (?>) فقط چیزهایی را که در فایل موجود می باشد منتشر می کند و این کار را انجام می دهد تا به تگ بعدی ابتدایی پی اچ پی برسد (<?php). البته هنگامی که با عبارت های شرطی سرو کار داریم، مساله فرق می کند؛ در این حالت موتور پی اچ پی قبل از اینکه تصمیم بگیرد از چه قسمتی صرف نظر کند، خروجی عبارت شرطی را تعیین می کند. در مثال زیر از یک ساختار شرطی استفاده شده است.

<?php if ($expression == true): ?>
  این متن زمانی نشان داده می شود که حاصل عبارت بالا صحیح باشد (TRUE).
<?php else: ?>
  در غیر این صورت این متن نمایش داده می شود (FALSE).
<?php endif; ?>

     همانطور که مشاهده می کنید در این مثال به صورت هوشمندانه ای از کدهای پی اچ پی استفاده شده است. بلوک اول (هرچند خارج از کدهای پی اچ پی است) تنها زمانی نشان داده می شود که حاصل عبارت شرطی پی اچ پی صحیح باشد. 

     در نظر داشته باشید هنگامی که با بلوک بزرگی از متن سروکار داریم، خیلی بهتر است که این بلوک  متنی را خارج از کدهای پی اچ پی قرار دهیم نه اینکه با استفاده از توابع echo یا print آنها را نمایش دهیم.

انواع تگهای آغازین و پایانی

     به طور کلی 4 نوع تگ آغازین و پایانی برای درج کدهای پی اچ پی وجود دارد که می توانیم از آنها استفاده کنیم. دو نوع از این تگهای آغازین و پایانی همیشه قابل استفاده هستند:

<?php ... ?>
<script language="php"> </script>

     دونوع تگی که در بالا نوشته شده است همیشه در دسترس هستند و استفاده از این نوع کدها نیازمند هیچ نوع پیکربندی یا تنظیمات خاصی در سرور شما نمی باشد. 

     دو روش دیگر عبارتند از روش تگهای کوتاه و شیوه ASP. استفاده از این دو روش منوط به فعال کردن آنها از طریق فایل پیکربندی php.ini می باشد. البته در نظر داشته باشید که هرچند به ظاهر استفاده از این نوع کدها راحت تر است، اما در کل استفاده از آنها توصیه نمی شود. 

نکته

هنگامی که قصد دارید از کدهای پی اچ پی در داخل یک فایل XML یا XHTML استفاده کنید، حتما از تگ های <?php ... ?> استفاده کنید؛ اگر غیر از این عمل کنید مطابق استاندارد عمل نکرده اید. 

1.  <?php echo 'اگر می خواهید کدهای پی اچ پی خود را در داخل یک فایل 
        XML یا XHTML استفاده کنید از این تگها استفاده کنید.'; ?>

2.  <script language="php">
        echo 'بعضی از ویرایشگرها (مانند FrontPage)
        دستوراتی که مابین این تگها قرار دارند را به خوبی اجرا نمی کنند.';
    </script>

3.  <? echo 'این کد در داخل تگهای کوتاه قرار دارد.'; ?>
    کدهایی که بین این تگها <?= 'some text' ?> قرار می گیرند
               کوتاه شده این کد هستند: <? echo 'some text' ?>

4.  <% echo 'شما می توانید از شیوه ای اس پی هم استفاده کنید'; %>
    کدهایی که به این صورت نوشته شده اند 
    <%= $variable; %>
    خلاصه شده این کد هستند: <% echo $variable; %>

     برای فعال کردن تگ های کوتاه باید در فایل پیکربندی php.ini گزینه short_open_tag فعال شده باشد.

     برای فعال کردن تگ های ASP در فایل پیکر بندی php.ini گزینه asp_tags را فعال کنید.

     به طور کلی استفاده از روش شماره یک (در کادر بالا) بیشتر از سایر روشها توصیه می شود. مخصوصا زمانی که می خواهید کدهای خود را در پروژه های دیگر استفاده کنید یا کدها را به سرور دیگری منتقل کنید که اطلاعات کاملی از آن ندارید، پیشنهاد می شود هرگز از شیوه تگهای کوتاه استفاده نکنید. 

     همانطور که قبلا نیز توصیه شد، در فایلهایی که فقط از کدهای پی اچ پی در داخل آن استفاده می کنید، پیشنهاد می شود تگ انتهایی را قرار ندهید تا از بروز خطاهای احتمالی خودداری شود. اما این مساله فقط از نسخه 5.3 به بعد پی اچ پی قابل اجرا است. 

موافقین ۱ مخالفین ۰ ۹۳/۱۲/۰۵
مهرداد یوسفی فرد

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی