آموزش PHP: فراخوانی فایل ها با استفاده از Include و Require

1

آموزش PHP 7

زمانی که مایلیم از محتوای یک فایل مثلا فایلی PHP یا HTML و یا txt در اسکریپت فعلی استفاده کنیم لازم است که از دستورات include یا require که در این بخش به شرح نحوه کار با آنها خواهیم پرداخت بهره بگیریم. دو دستور include و require در واقع محتوایی را که در فایل مورد نظر موجود است، کپی کرده و آن را در فایلی که در آن از این دستورات استفاده کرده ایم در اختیار ما قرار میدهند. از شما دعوت میکنیم در این قسمت از مجموعه آموزش برنامه نویسی به زبان پی اچ پی با مسترکد همراه شوید.

دستورات include و require در PHP

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

رفتار و کاربرد دو دستور include و require یکسان بوده و تنها در زمان اجرای ناموفق متفاوت است به این صورت که require در صورت عدم موفقیت، خطای مهلک (E_COMPILE_ERROR) تولید میکند ولی include در صورت اجرای ناموفق فقط منجر به تولید هشدار (E_WARNING) خواهد شد و اسکریپت به اجرای خود ادامه خواهد داد که البته از نام این دو دستور هم دقیقا همین مسئله انتظار میرود. چرا که include به مفهوم شامل شدن و require به مفهوم الزامی بودن است.

بنابراین اگر میخواهید فارغ از نتیجه دستور، اسکریپت به اجرای خود ادامه دهد، حتی اگر فایل مد نظرتان جهت بازگشایی در دسترس نباشد، باید از دستور include استفاده کنید. در غیر این صورت اگر اجرای اسکریپت شما به فراخوانی فایل مورد نظر وابسته است و امکان اجرای عملیات کلیدی بدون فایل مورد نظر میسر نیست، باید از دستور require استفاده کنید تا از دسترس بودن فایل مورد نظر پیش از ادامه اجرای اسکریپت اطمینان حاصل شود.

امکان فراخوانی فایل ها میتواند به شکل چشمگیری از زمان مورد نیاز برای پیاده سازی یک اسکریپت بکاهد. مثلا شما میتوانید یک سربرگ و فوتر استاندارد به همراه منوی دلخواه خود ایجاد کرده و آن را در تمامی صفحات خود فراخوانی کنید. در این حالت وقتی لازم است که محتوای سربرگ آپدیت شود، هیچ احتیاجی به آپدیت چندین فایل جداگانه نخواهید داشت و تنها کافی است همان یک فایلی که در سایر بخش های اسکریپت فراخوانی کرده بودید را به روز کنید تا تغییرات در همه ی بخش های سایتتان منعکس شود.

سینتکس

از این دو دستور به شکل زیر استفاده میکنیم :

مثال و شیوه استفاده

نمونه یک

فرض کنید فایلی با نام footer.php با محتوای زیر در اختیار داریم :

برای فراخوانی فوتر در صفحه مورد نظرمان و نمایش کپی رایت میتوانیم به شکل زیر عمل کنیم :

نمونه دو

فایلی با نام menu.php را با محتوای زیر در نظر بگیرید :

فرض کنیم که میخواهیم محتوای این فایل را به صورت یک منو در صفحات سایت خود به نمایش بگذاریم. برای این کار از یک div ساده استفاده کرده ایم :

نحوه نمایش این منو را میتوانید بعدا در سایت خود از طری css کنترل و سفارشی سازی کنید.

نمونه سه

در نظر بگیرید که فایلی با نام var.php داریم که حاوی برخی متغیر ها و مقادیری است که از پیش به آنها نسبت داده ایم :

حالا میخواهیم این فایل را در اسکریپت خود فراخوانی کرده و از متغیر های تعریف شده در آن در اسکریپت استفاده کنیم :

همانطور که مشاهده میکنید در مثال آخر به این دلیل که فراخوانی فایل var.php جهت نمایش صحیح اطلاعات در سایت ضروری است، از دستور require بجای include استفاده کرده ایم.

آشنایی با دستورات include_once و require_once

زمانی که یک فایل php را در فایلی دیگر فراخوانی میکنیم دو حالت پیش می آید. زمانی که برایمان مهم نیست که این فایل قبلا هم در اسکریپت فعلی فراخوانی شده باشد و حالت دوم زمانی که تکراری بودن فراخوانی فایل مورد نظر، برای ما حائز اهمیت است. مثلا وقتی یک منوی از پیش ساخته شده را در بخشی از فایل فعلی فراخوانی میکنیم، مهم نیست اگر این منو را در چند محل و چندین بار فراخوانی کرده باشیم اما اگر فایلی را فراخوانی کنیم که حاوی تعریف چند تابع است که جهت استفاده در اسکریپت فعلی طراحی کرده ایم، اگر این فایل را در چندین محل در اسکریپت فعلی فراخوانی کنیم با خطای تکراری بودن نام توابع تعریف شده برخورد خواهیم کرد.

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

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

مطالعه بخش بعدی : کار با فایل ها در php (به زودی)

دسترسی آسان به این مطلب لینک کوتاه :
شاید از اینها هم خوشتان بیاید!
1 دیدگاه
  1. asra می گوید

    خوب

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.