۱۳۹۲ اسفند ۲۸, چهارشنبه

فرق include ، include_once ، require ، require_once

گاهی اوقات میبینم که بعضیا عادت کردن همیشه از include استفاده کنن در هر حالتی از include استفاده میکنند و کارشون راه میفته اما استفاده از اینکلود ممکنه پاسخگو باشه ولی درست و منطقی نمیتونه باشه



اولا که once یعنی یک بار یعنی فرقی نمیکنه تو include یا require اگر _once اضافه کنیم فقط یک بارفراخوانی  خواهد شد و اگر یک بار این کار صورت گرفته دوباره تکرار نخواهد کرد

پس صفحاتی رو که توش تابع یا کلاس تعریف کردید رو با استفاده از once یک بار فراخوانی کنید

 

اما در مورد require و include میشه از معنی کلمات به تفاوتشون پی برد

require یعنی مورد نیاز حتمی یعنی اینکه اگر نباشه نمیشه

بدین معنی که وقتی شما فایلی رو require میکنید اگر تونست فراخوانی کنه که ادامه خواهد داد در غیر اینصورت برنامه همونجا متوقف خواهد شد

ولی در include اینطور نیست یعنی اگر هم فراخوانی نشد یک ارور میده و ادامه دستورات رو اجرا میکنه

بر فرض مثال وقتی شما میخواهید یک صفحه ورودی درست کنید و فایلی رو فراخوانی میکنید که کنترل کنه که شخص لاگین کننده تائید شده است دیگه از include نمیشه استفاده کرد و حتما باید require کنید تا اگر درست نبود برنامه رو ادامه نده چون اگر include بشه فقط یک خطا میده و ادامه دستورات رو اجرا میکنه

یا به عبارت دیگر اگر فایل فراخوانی شده مشکل داشت

require یک fatal error نمایش داده و اسکریپت متوقف خواهد شد

include یک warning یا خطا میده و اسکریپت ادامه خواهد یافت

[caption id="" align="alignnone" width="300"] require[/caption]

[caption id="" align="alignnone" width="224"] include[/caption]

 

هیچ نظری موجود نیست:

ارسال یک نظر