PDA

View Full Version : require_once بهتره یا include؟



tehro0n
سه شنبه 09 شهریور 1389, 01:59 صبح
برای باز نگه داشتن فایل دیگه require_once بهتره یا include؟

SAMAN_PHP
سه شنبه 09 شهریور 1389, 02:24 صبح
این صفحه (http://barnamenevis.org/forum/showthread.php?t=137880)رو ببینید

امیـرحسین
سه شنبه 09 شهریور 1389, 21:37 عصر
فرق include با require: تنها تفاوت اینه که وقتی آدرس فایل صحیح نباشه یا فایل وجود نداشته باشه، include هیچکاری نمی کنه ولی require یک خطای FATAL میده و برنامه رو کامل متوقف می کنه. بهتره از require برای زمان تست استفاده کنیم تا خطاها رو سریع پیدا کنیم ولی برای زمان استفاده نهایی استفاده نشه بهتره چون هم نمای جالبی نداره و هم ممکنه ساختار سایت رو از محرمانگی در بیاره.

فرق include با include_once یا require با require_once: وقتی فایلی رو include می کنیم، باز میشه، اجرا میشه و تموم میشه میره. اگر یک فایل رو دوبار نیاز داشته باشیم دو بار include می کنیم و دوبار اجرا میشه ولی وقتی include_once می کنیم، باز میشه، اجرا میشه ولی بسته نمیشه. اگر دوباره بهش نیاز داشته باشیم وقتی دوباره include_once کنیم، مجددا باز نمیشه از همون فایل و محتویات موجود استفاده می کنه.

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