shift

تابع ()include در مقایسه با تابع ()require در پی اچ پی

تابع ()include در مقایسه با تابع ()require در پی اچ پی

عاطفه
دسته: ابزارها  تگ ها: تابع include() در مقایسه با تابع require() در پی اچ پی

 

یکی از امکانات PHP که تازه‌کاران و متخصصین از آن استفاده می‌کنند، قابلیت SSI یا Server Side Includes می‌باشد. این توابع نیاز به کپی و انتقال کد تکراری را کاهش می‌دهد و یک کد تمیزتر ارائه می‌کند. PHP، دو تابع برای قرار دادن فایل‌ها در یکدیگر دارد: ()include و ()require. ازآنجایی‌که در اصل هر دو تابع کار در برگرفتن فایل معینی را انجام می‌دهند، ممکن است سردرگمی ایجاد کنند؛ اما تفاوت در خصوص چگونگی مدیریت فایل‌هاست.


رفع خطا در ()include

هنگام استفاده از ()include، اگر فایل معین وجود ندارد، یک هشدار به نمایش درمی‌آید و اجرای خطوط بعد ادامه می‌یابد. به کد زیر نگاه کنید.

<?php
include("missing_file.php");
print "<h3>Rest of the content</h3>";
?>

در اینجا، هیچ فایلی به نام missing_file.php وجود ندارد، اجرای کد، خطای زیر را نشان خواهد داد:
 

خطا زمانی نشان داده می‌شود که خطایی در تابع ()include رخ دهد.
همان‌طور که در بالا دیدید، یک خطا به نمایش در آمده است و مابقی خطوط اجراشده‌اند. حالا بیایید ببینیم ()require چگونه خطا را رفع می‌کند.

 

رفع خطا در ()require

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

<?php
require("missing_file.php");
print "<h3>Rest of the content</h3>";
?>


هنگام اجرای این کد، به پیام خطا توجه کنید.


 
خطا زمانی به نمایش درمی‌آید که فایلی که در تابع ()require فراخوانده شده، وجود نداشته باشد.
بعد از خطا، دستور پرینت اجرا نمی‌شود.

 

چه زمانی از کدام تابع استفاده کنیم؟

حالا، تفاوت بین توابع ()include و ()require پی اچ پی را می‌دانید که در مکان مناسب از کدام‌یک از این توابع استفاده کنید. اگر از SSI برای نمایش فوترها، بنرها یا تبلیغات استفاده می‌کنید، صحیح است که از تابع ()include استفاده کنید چون گم‌شدن یک بنر یا فایل تبلیغاتی، دلیلی برای توقف اجرای کل صفحه نیست.
از تابع ()require پی اچ پی درجایی استفاده کنید که یک فایل، ضروری است، به‌عبارت‌دیگر اگر یک کاربر، تابع را تعریف کرده، برای هر فایل جهت اجرای برخی عملیات برای فراخوانی فایل با استفاده از تابع ()require موردنیاز است.
یک مثال خوب، فراخوانی فایل‌های PEAR در کد پی اچ پی شماست.

نظر خود را بنویسید...
ارسال نظر
لغو