وارد کردن فایلها درون یکدیگر با دستورات include و require و ساخت ساختارهای کد ماژولار و قابل بازاستفاده.
فراخوانی فایلها به شما این امکان را میدهد که کدهای مشترک (مانند هدر، فوتر، تنظیمات دیتابیس یا توابع عمومی) را در یک فایل جداگانه نوشته و آن را در صفحات مختلف وارد کنید. این کار منطبق بر اصل DRY (Don't Repeat Yourself) است.
تفاوت اصلی در نحوه مواجهه با فایل مفقود شده است: include تنها یک خطای Warning صادر کرده و اجرا را ادامه میدهد، اما require خطای حیاتی (Fatal Error) صادر کرده و اجرای اسکریپت را متوقف میکند.
<?php
// Require essential config (Halts execution if missing)
require_once __DIR__ . '/config.php';
// Include non-critical layout components
include '../../header.php';
echo "<main>Page Content Here</main>";
include '../../footer.php';
?>
| دستور | سطح خطا در صورت نبود فایل | جلوگیری از فراخوانی تکراری |
|---|---|---|
| include | Warning (ادامه اجرا) | خیر |
| require | Fatal Error (توقف اجرا) | خیر |
| include_once | Warning (ادامه اجرا) | بله |
| require_once | Fatal Error (توقف اجرا) | بله |
__DIR__
برای جلوگیری از مشکل عدم پیدا شدن مسیر نسبت به فایل اجرایی در پوشههای تو در تو، همیشه از ثابت جادویی __DIR__ استفاده کنید تا مسیر مطلق دایرکتوری جاری فایل به دست آید.
خطای Redeclaration (تعریف مجدد توابع یا کلاسها)
اگر فایلی حاوی یک تابع یا کلاس را دو بار با require فراخوانی کنید، برنامه با خطای Fatal مواجه میشود. برای فایلهای حاوی توابع یا کلاسها حتماً از require_once استفاده کنید.
یک پوشه به نام includes ساخته و درون آن فایل functions.php را ایجاد کنید که تابعی برای چاپ پیام خوشآمدگویی دارد. سپس آن را در فایل اصلی با دستور require_once فراخوانی کنید.