📘 جزوه آموزشی PHP — مبحث include و require (نسخه کامل)
🎯 هدف درس
در این جزوه، دانشآموز یاد میگیرد:
- include و require چه هستند؟
- include_once و require_once چه کاربردی دارند؟
- تفاوت این دستورها چیست؟
- چه زمانی از هرکدام استفاده کنیم؟
- مثالهای واقعی در پروژهها
- اشتباهات رایج و تمرینها
⭐ ۱. include و require چیست؟
در PHP گاهی لازم است کدهای یک فایل دیگر را داخل فایل فعلی استفاده کنیم. این کار باعث میشود:
- کدها تکراری نشوند
- مدیریت پروژه راحتتر شود
- سرعت نوشتن پروژه بیشتر شود
- ساختار سایت منظمتر باشد (header – footer – menu – connect)
برای این کار از ۴ دستور استفاده میکنیم:
- include
- include_once
- require
- require_once
⭐ ۲. دستور include
✔ تعریف:
فایل را وارد میکند. اگر فایل پیدا نشود، فقط هشدار (Warning) میدهد و برنامه ادامه اجرا میشود.
✔ مثال:
include "header.php";
✔ کاربرد:
- فایلهایی که نبودن آنها باعث متوقف شدن سایت نمیشود
- مثل فایلهای تبلیغات، منوهای فرعی، پیامها
⭐ ۳. دستور include_once
✔ تعریف:
مثل include است، با این تفاوت که فایل فقط یک بار وارد میشود.
حتی اگر چند بار include_once را بنویسید، فقط بار اول فایل را لود میکند.
✔ مثال:
include_once "functions.php";
✔ کاربرد:
- جلوگیری از بارگذاری دوبارهی فایل
- جلوگیری از خطاهای "تابع تکراری" یا "متغیر دوباره تعریف شده"
⭐ ۴. دستور require
✔ تعریف:
این دستور هم یک فایل را وارد میکند. اما اگر فایل وجود نداشته باشد، یک خطای جدی (Fatal Error) رخ میدهد و برنامه متوقف میشود.
✔ مثال:
require "config.php";
✔ کاربرد:
فایلهایی که نبودنشان باعث خراب شدن سایت میشود، مثل:
- فایل اتصال به پایگاه داده
- فایل تنظیمات سایت
- فایل توابع مهم
⭐ ۵. دستور require_once
✔ تعریف:
ترکیبی از require و once یعنی:
- فایل ضروری است، نبودنش = توقف برنامه
- فقط یک بار لود میشود و از تکرار جلوگیری میکند
✔ مثال:
require_once "config.php";
✔ بهترین محل استفاده:
فایل اتصال به دیتابیس فایل توابع اصلی پروژه
⭐ ۶. جدول تفاوتها (بسیار مهم)
| دستور | اگر فایل نباشد | چند بار لود میشود؟ | کاربرد |
|---|---|---|---|
| include | هشدار میدهد | بله | فایلهای غیر ضروری |
| include_once | هشدار میدهد | فقط یک بار | جلوگیری از تکرار فایل |
| require | خطای شدید (توقف کامل) | بله | فایلهای ضروری |
| require_once | خطای شدید | فقط یک بار | فایل ضروری + جلوگیری از تکرار |
⭐ ۷. مثال کامل — ساخت صفحه با include و require
🔹 فایل header.php:
<!DOCTYPE html>
<html>
<head>
<title>سایت مدرسه</title>
</head>
<body>
<h2>خوش آمدید</h2>
<hr>
🔹 فایل footer.php:
<hr>
<p>© 2025 — سایت مدرسه</p>
</body>
</html>
🔹 فایل index.php:
<?php include "header.php"; ?>
<p>این صفحهی اصلی سایت است.</p>
<?php include "footer.php"; ?>
⭐ ۸. مثال مهم — استفاده از require_once برای اتصال دیتابیس
🔹 فایل config.php
<?php
$connection = new mysqli("localhost", "root", "", "school");
if ($connection->connect_error) {
die("خطا در اتصال به پایگاهداده");
}
?>
🔹 فایل students.php
<?php require_once "config.php"; ?>
<?php
$result = $connection->query("SELECT * FROM students");
while($row = $result->fetch_assoc()) {
echo $row["name"] . "<br>";
}
?>
💡 چرا require_once؟
- فایل ضروری است (بدون آن سایت کار نمیکند).
- نباید دوباره لود شود، چون اتصال تکراری خطرناک است.
⭐ ۹. مسیر دهی (Path) در include و require
✔ مسیر نسبی
include "menu/menu.php";
✔ برگشت به مسیر بالاتر
include "../header.php";
✔ مسیر کامل
include "/var/www/html/project/header.php";
⭐ ۱۰. خطاهای رایج برای دانشآموزان
❌ خطا: دوبار include کردن یک فایل و اجرای دوبارهی توابع
✔ راهحل: include_once
❌ خطا: require باعث توقف سایت شده
✔ راهحل: اگر فایل ضروری نیست، include بهتر است
❌ خطا: مسیر فایل اشتباه است
✔ راهحل: از مسیر صحیح یا پوشهبندی صحیح استفاده کنید
❌ خطا: فایل config دو بار اجرا شده
✔ راهحل: require_once