تفاوت بین include و include_once چیست؟

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

php
0
امید پرسیده شده در ۴ دی ۱۳۹۴
18 سوال
0 پاسخ
4امتیاز
Share in:
2 پاسخ

هنگامی شما قصد فراخوانی یک صفحه php رو به صفحه دیگر دارید با دستور include یا دستور requier این فراخوانی رو انجام می دهید.

include: فراخوانی دستورات و توابع صفحه دیگر در بخش فعلی .

include_once: اگر فراخوانی تکراری باشد دیگر آن دستورات و توابع را به بخش مورد نظر اضافه نمی کند.

require:عملکرد این دستور مشابه دستور include است ولی این دو دستور یک تفاوت با هم دارند .

تفاوت include و require:

اگر در فراخوانی با دستور include فایل مبداء را را به هر دلیلی پیدا نکند یا پاک شده باشد این دستور یک پیغام خطا می دهد و به روند اجرا ادامه میدهد.

در دستور require اگر فیل مبداء را به هر دلیلی پیدا نکند یا پاک شده باشد php از اجرای بقیه کدها جلوگیری می کند.

1
مهدی
پاسخ داده در ۹ دی ۱۳۹۴
0 سوال
7 پاسخ
2امتیاز

تابع include برای وارد کردن یک فایل php به فایل php دیگر استفاده می شود. به طور مثال ما لیستی از توابع را در یک فایل php ایجاد کرده ایم و قصد داریم از این توابع در فایل های دیگر استفاده کنیم. برای اینکار می توان از تابع include استفاده کرد.

تابع include و include_once هردو برای وارد کردن فایل php استفاده می شود با این تفاوت که تابع include_once همانطور که از نامش پیداست فقط یکبار فایل را به صفحه وارد می کند. زیرا در صورتی که فایل php، وارد صفحه شده باشد و دوباره با استفاده از تابع include فایل را وارد صفحه کنیم با خطا مواجه می شویم.

به طور مثال سه فایل به صورت زیر داریم:

  1. Functions.php
  2. Globals.php
  3. Header.php

که محتوای فایل Functions.php به صورت زیر است:

<?php 
   function func1(){ 
       echo 'some code'; 
   } 
?>

محتوای فایل Globals.php به صورت زیر است:

<?php 
   include('Functions.php'); 
   func1(); 
?>

و محتوای فایل Header.php به صورت زیر باشد:

<?php
   include('Functions.php'); 
   include('Globals.php'); 
   func1();
?>

در کدهای بالا شما اگر فایل Heaer.php را باز کنید یا اجرا کنید با خطا مواجه خواهید شد زیرا در فایل Globals.php فایل Functions.php با استفاده از دستور include وارد فایل شده است، که همانطور که در کد بالا (Header.php) مشاهده می کنید این فایل وارد شده است و زمانی که مجددا در فایل Gloabs.php این فایل جهت وارد شدن به فایل فراخوانی می شود با خطا مواجه خواهیم شد اما برنامه ادادمه پیدا می کند. حال اگر از تابع include_once استفاده کنیم مطمئن خواهیم بود که فایل Functions.php فقط یکبار فراخوانی شده است و در صورتیکه فایل وارد شده باشد، دوباره فراخوانی نمی شود و باعث ایجاد خطا نخواهد شد.

کد فایل Header.php

<?php 
   include_once('Functions.php'); 
   include('Globals.php'); 
?>

 

0
دانیال
پاسخ داده در ۹ دی ۱۳۹۴
0 سوال
50 پاسخ
27امتیاز
پاسخ شماپاسخ شما با موفقیت ثبت شد.پاسخی وارد نشده است.

ارسال پاسخ