دستورات include و require

در PHP چهار دستور برای وارد کردن محتویات یک فایل در داخل فایل دیگر وجود دارد که در زیر نام آنها آمده است :

  • require
  • require_once
  • include
  • include_once

برای درک عملکرد این دو دستورات دو فایل به نام های FirstFile.php و SecondFile.php ایجاد کرده :

require-include-in-php

و در داخل FirstFile کد زیر را :

<p>This is First File !</p>

و در داخل SecondFile هم کد زیر را بنویسید :

<p>This is Second File !</p>

حال فرض کنید که می خواهیم کدهای فایل FirstFile را در داخل SecondFile یک بار با include و بار دیگر با require وارد کنیم. برای این کار فایل SecondFile را باز کرده و کدهای آن را به صورت زیر تغییر دهید :

<?php require 'FirstFile.php'; ?>

<p>This is Second File !</p>

 

کد را اجرا کنید :

require-include-in-php-01

همانطور که در شکل بالا مشاهده می کنید با اجرای فایل SecondFile محتویات FirstFile هم که به وسیله دستور require به آن اضافه شده اند اجرا می شوند. در کل کد بالا با کد زیر هیچ فرقی ندارد :

<p>This is First File !</p>

<p>This is Second File !</p>

حال به جای کلمه require از کلمه include استفاده و فایل را اجرا کنید :

require-include-in-php-01

همانطور که در شکل بالا مشاهده می کنید هیچ تفاوتی در خروجی وجود ندارد. تفاوت این دو دستور در این است که اگر مثلا اشتباهی در دادن مسیر FirstFile و یا غلط املایی در نوشتن نام آن وجود داشته باشد، رفتار این دو دستور متفاوت است. برای روشن شدن این موضوع نام FirstFile را به File تغییر داده و کد را اجرا کنید:
 
با استفاده از require
require-include-in-php-02
در شکل بالا همانطور که می بینید اگر فایل File.php پیدا نشود، هیچ کدی اجرا نمی شود.

 
با استفاده از inculde
require-include-in-php-03
اما در دستور inculde ، اگر فایل File.php پیدا نشود، بقیه کدها اجرا می شوند. require_once و include_once هم برای اطمینان از عدم ورود چند باره یک فایل به داخل فایل دیگر به کار می شوند. برای روشن شدن مطلب به کد زیر توجه کنید :

<?php include 'FirstFile.php'; ?>

<p>This is Second File !</p>

<?php include 'FirstFile.php'; ?>
This is First File !
This is Second File !
This is First File !

با اجرای کد بالا فایل FirstFile دو بار در داخل فایل SecondFile وارد می شود. برای جلوگیری از این کار کد بالا را به صورت زیر تغییر داده و آن را اجرا کنید :

<?php include 'FirstFile.php'; ?>

<p>This is Second File !</p>

<?php include_once 'FirstFile.php'; ?>
This is First File !
This is Second File !

حال همین دو کد بالا را با require_once چک کرده و نتیجه را مشاهده کنید.

لطفا اگر نظر، پیشنهاد و یا انتقادی در باره مطلب بالا دارید در قسمت زیر مطرح بفرمایید.

  1. سعیده پاسخ دادن

    سلام
    چقدر زیبا و پر مفهوم توضیح دادین .. واقعا ممنونم
    دستتون درد نکنه

    • یونس ابراهیمی پاسخ دادن

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

  2. Mostafa پاسخ دادن

    خیلی شیوا توضسح دادین ،
    مخصوصا قسمت include_once رو !

    • یونس ابراهیمی پاسخ دادن

      لطف دارین دوست عزیز، مرسی