آموزش رایگان PHP

آموزش کامل include و require در PHP + تفاوت‌های کلیدی و کاربردی

1405/05/01 20:28 محراب حسن زاده
آموزش کامل include و require در PHP + تفاوت‌های کلیدی و کاربردی

مقدمه: ماژولار نویسی در PHP چیست؟

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

آموزش دستور include در PHP

دستور include برای وارد کردن محتوای یک فایل مشخص به درون یک فایل دیگر استفاده می‌شود. اگر فایل مورد نظر پیدا نشود، برنامه متوقف نمی‌شود؛ بلکه یک پیام هشدار (Warning) صادر کرده و بقیه کدهای صفحه را اجرا می‌کند.

مثال زیر نحوه بارگذاری یک فایل هدر ساده را با این دستور نشان می‌دهد:


// index.php
include 'header.php';
echo "

"; // این بخش محتوای اصلی صفحه است.

 

"; include 'footer.php'; ?>

آموزش دستور require در PHP

دستور require نیز دقیقاً مانند include عمل می‌کند، با این تفاوت که برای فایل‌های حیاتی و ضروری سیستم استفاده می‌شود. اگر فایلی که با require فراخوانی شده است وجود نداشته باشد یا آدرس آن اشتباه باشد، PHP یک خطای کشنده (Fatal Error) صادر کرده و بلافاصله اجرای کل اسکریپت را متوقف می‌کند.


// db_connection.php برای اتصال به پایگاه داده حیاتی است
require 'config.php';
require 'database.php';

echo "اتصال به پایگاه داده با موفقیت انجام شد.";

تفاوت‌های کلیدی میان include و require

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

  • سطح خطا (Error Level): دستور include خطای نوع E_WARNING تولید می‌کند، در حالی که require خطای نوع E_COMPILE_ERROR تولید می‌کند.
  • ادامه اجرای کد: پس از بروز خطا در include، مرورگر بقیه المان‌های صفحه را نشان می‌دهد. اما در require، با بروز خطا، صفحه کاملاً سفید شده یا پیام خطا نمایش داده می‌شود و چیزی رندر نمی‌گردد.
  • بهترین سناریوی کاربرد: برای فایل‌های قالب گرافیکی (مثل منو یا فوتر) از include و برای فایل‌های هسته، کانفیگ، کتابخانه‌ها و توابع امنیتی از require استفاده کنید.

نسخه‌های include_once و require_once

برخی اوقات در پروژه‌های بزرگ ممکن است یک فایل را به صورت اشتباهی چند بار فراخوانی کنید (مثلاً فراخوانی مجدد فایل توابع یا اتصالات دیتابیس). این کار باعث بروز خطای تداخل توابع یا مصرف بی‌مورد منابع سرور می‌شود. برای حل این مشکل، PHP نسخه‌های پسوند دار _once را ارائه داده است.

این دستورات ابتدا بررسی می‌کنند که آیا فایل مورد نظر قبلاً در طول اجرای اسکریپت بارگذاری شده است یا خیر. اگر بارگذاری شده باشد، از بارگذاری مجدد آن جلوگیری می‌کنند.


// بارگذاری فایل توابع فقط برای یک بار
require_once 'functions.php';
require_once 'functions.php'; // این خط نادیده گرفته می‌شود و خطایی رخ نمی‌دهد

استانداردهای پیشنهادی گوگل و Best Practices

  1. مسیردهی مطلق به جای نسبی: همیشه سعی کنید آدرس فایل‌ها را با استفاده از ثابت __DIR__ به صورت مطلق تعریف کنید تا سرعت لود فایلهای سیستم افزایش یابد و امنیت مسیرها تضمین شود.
  2. استفاده هوشمندانه از _once: تا حد امکان برای لود کلاس‌ها از Autoloader ها (مانند Composer) استفاده کنید، اما برای فایل‌های پیکربندی معمولی، require_once بهترین و امن‌ترین گزینه است.

// استاندارد بهینه برای آدرس‌دهی فایل‌ها در PHP
require_once __DIR__ . '/config/database.php';

پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش متغیرهای سفارشی (Custom Properties) در CSS: نحوه تعریف و استفاده از var
1402/06/18 22:41

آموزش متغیرهای سفارشی (Custom Properties) در CSS: نحوه تعریف و استفاده از var

مطالعه بیشتر
آموزش قالب‌بندی متن در HTML: استفاده از تگ‌ها و CSS برای استایل‌دهی
1402/05/23 23:32

آموزش قالب‌بندی متن در HTML: استفاده از تگ‌ها و CSS برای استایل‌دهی

مطالعه بیشتر
آشنایی با Vue CLI و ایجاد پروژه‌های پیشرفته در Vue.js | راهنمای کامل
1404/09/29 21:09

آشنایی با Vue CLI و ایجاد پروژه‌های پیشرفته در Vue.js | راهنمای کامل

مطالعه بیشتر
اصول پایه React.js: آشنایی با کامپوننت‌ها، وضعیت و رندرینگ
1402/06/28 23:20

اصول پایه React.js: آشنایی با کامپوننت‌ها، وضعیت و رندرینگ

مطالعه بیشتر
آموزش ساخت دیتابیس و جدول برای پروژه PHP طبق استاندارد گوگل
1405/05/04 23:38

آموزش ساخت دیتابیس و جدول برای پروژه PHP طبق استاندارد گوگل

مطالعه بیشتر
آموزش مدیریت Box Model و ترکیب اجزای آن با CSS: کنترل دقیق فاصله‌ها و ابعاد عناصر
1402/06/05 23:30

آموزش مدیریت Box Model و ترکیب اجزای آن با CSS: کنترل دقیق فاصله‌ها و ابعاد عناصر

مطالعه بیشتر
آموزش کامل و امن آپلود فایل در PHP (مطابق استاندارد گوگل)
1405/05/01 20:17

آموزش کامل و امن آپلود فایل در PHP (مطابق استاندارد گوگل)

مطالعه بیشتر
مفاهیم پیشرفته اشیاء در جاوا اسکریپت: مدیریت خصوصیات و متدها
1403/07/04 17:40

مفاهیم پیشرفته اشیاء در جاوا اسکریپت: مدیریت خصوصیات و متدها

مطالعه بیشتر
آموزش آپدیت اطلاعات در دیتابیس به روش امن و استاندارد (Update Query)
1405/05/13 21:12

آموزش آپدیت اطلاعات در دیتابیس به روش امن و استاندارد (Update Query)

مطالعه بیشتر
آموزش جامع حلقه‌های for و while در جاوا اسکریپت: نحوه استفاده و کاربردها
1402/11/02 23:10

آموزش جامع حلقه‌های for و while در جاوا اسکریپت: نحوه استفاده و کاربردها

مطالعه بیشتر
آموزش ایجاد، دسترسی و اصلاح آرایه‌ها در جاوا اسکریپت: راهنمای کامل
1403/07/04 17:11

آموزش ایجاد، دسترسی و اصلاح آرایه‌ها در جاوا اسکریپت: راهنمای کامل

مطالعه بیشتر
راهنمای جامع قوانین نام‌گذاری متغیرها در PHP بر اساس استاندارد گوگل
1405/03/24 00:57

راهنمای جامع قوانین نام‌گذاری متغیرها در PHP بر اساس استاندارد گوگل

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد