آموزش رایگان 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';

پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

واحدهای CSS مدرن: آموزش استفاده از vw، vh، vmin و vmax برای طراحی واکنش‌گرا
1403/08/11 20:43

واحدهای CSS مدرن: آموزش استفاده از vw، vh، vmin و vmax برای طراحی واکنش‌گرا

مطالعه بیشتر
آموزش جامع پیاده‌سازی سطح دسترسی کاربران (ACL) در PHP
1405/05/14 22:17

آموزش جامع پیاده‌سازی سطح دسترسی کاربران (ACL) در PHP

مطالعه بیشتر
آموزش ساخت ماشین حساب با جاوا اسکریپت: راهنمای کامل با مثال‌های کاربردی
1403/08/04 18:52

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

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

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

مطالعه بیشتر
آموزش اصول Web APIs و نحوه استفاده از آن‌ها در جاوا اسکریپت: راهنمای کامل با مثال‌ها
1403/08/01 20:05

آموزش اصول Web APIs و نحوه استفاده از آن‌ها در جاوا اسکریپت: راهنمای کامل با مثال‌ها

مطالعه بیشتر
آموزش اصولی Insert اطلاعات در دیتابیس طبق استانداردهای گوگل
1405/05/13 20:58

آموزش اصولی Insert اطلاعات در دیتابیس طبق استانداردهای گوگل

مطالعه بیشتر
آموزش Prepared Statement در PHP: امن‌سازی دیتابیس در برابر SQL Injection
1405/05/13 21:17

آموزش Prepared Statement در PHP: امن‌سازی دیتابیس در برابر SQL Injection

مطالعه بیشتر
آموزش کار با رویدادهای فرم و اعتبارسنجی فرم‌ها در جاوا اسکریپت: راهنمای جامع
1403/08/03 16:47

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

مطالعه بیشتر
آموزش کامل ویژگی background در CSS: تنظیمات پس‌زمینه برای طراحی وب راهنمای جامع
1402/06/05 23:51

آموزش کامل ویژگی background در CSS: تنظیمات پس‌زمینه برای طراحی وب راهنمای جامع

مطالعه بیشتر
عملگرها و عبارات محاسباتی در جاوا اسکریپت: نحوه استفاده و کاربردهای مختلف
1402/06/28 00:20

عملگرها و عبارات محاسباتی در جاوا اسکریپت: نحوه استفاده و کاربردهای مختلف

مطالعه بیشتر
آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر
1403/08/11 20:50

آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر

مطالعه بیشتر
آموزش جامع Session در PHP به زبان ساده + پروژه عملی شبیه‌ساز
1405/05/01 20:07

آموزش جامع Session در PHP به زبان ساده + پروژه عملی شبیه‌ساز

مطالعه بیشتر

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