PDA

View Full Version : سوال: تفاوت های include , require با include_once , require_once



ahmadbadpey
یک شنبه 01 دی 1387, 11:52 صبح
سلام
صورت سوال که کاملا مفهومه . بعضی تفاوت های include , require رو می دونم اما گاهی وقتها که می خوام یه فایل رو به وسیله اونا پیوند کنم خطا می ده و و قتی که از include_once , require_once استفاده می کنم مشکل حل میشه . بیشتر وقتی فایلی شامل یه تابع رو پیوند می کنم این مشکل پیش می آد . حالا اگه کسی تفاوت ها رو برام بگه ممنون میشم.

اعظم
یک شنبه 01 دی 1387, 12:22 عصر
وقتی یکبار صفحه ای رو که شامل تعریف یک تابع است include می کنی با include مجدد آن تابع دوباره باید تعریف بشه که قاعدتا خطا می ده کاری که once_ انجام میده اینه که اگر فایلی که می خوایی include یا reqouire کنی قبلا include یا require شده باشه دیگه اونو به صفحه اضافه نمی کنه . به همین دلیل خطا رفع میشه. بنابراین کدهایی رو که تعریف یک تابع یا کلاس رو شامل میشن رو معمولا با once_ به صفحه اضافه می کنند تا خطای redeclare از بین بره.

yaqubian
یک شنبه 01 دی 1387, 14:05 عصر
دوست عزیز
تفاوت require و include با require_one و require_once این است که اگر قبلا فایل مورد نظر اینکلود شده باشه مجددا آنرا انکلود نمیکنه.
تفاوت بین Include و require هم در این است که در include اگر فایل مورد نظر را پیدا نشه و یا وجود نداشته باشه فقط پیغام خطا صادر میشه و برنامه را ادامه میدهد اما در مورد requre اینطور نیست و اگر فایل مورد نظر را پیدا نکند اسکریپت در همانجا متوقف میشه.
به نقل از iranphp
موفق باشید

delphi77
دوشنبه 16 دی 1387, 13:58 عصر
yaqubian ولی چرا دوبار نوشتی

خوب کاش در مورد سرعت اجرای Include و require چیزهایی می نوشتید