Include And Require

ما هي include و require في PHP؟

هي أوامر تُستخدم لإدراج ملفات PHP أخرى داخل ملفك الحالي، كأنك تنسخ محتوى ملف وتلصقه في مكان الأمر.

✅ الفائدة الأساسية:

تساعد على تقسيم الكود إلى أجزاء صغيرة، مثل:

  • ملف للـ رأس الصفحة (header)
  • ملف للقائمة الجانبية (sidebar)
  • ملف للوظائف (functions)
  • ملف لإعدادات الاتصال بقاعدة البيانات (config)
✅ الفرق بين include و require:
الأمرعند فشل الإدراجيكمل تنفيذ الكود؟الرسالة
includeيعطي تحذير✅ نعمWarning
requireيعطي خطأ قاتل❌ لا يكملFatal Error (يتوقف التنفيذ)
✅ الشكل العام:
include "file.php";
require "file.php";
PHP
✅ مثال عملي:
ملف greeting.php:
<?php
echo "أهلاً بك في موقعي<br>";
?>
PHP
ملف index.php:
<?php
include "greeting.php";
echo "الصفحة الرئيسية<br>";
?>
PHP

📌 الناتج:

أهلاً بك في موقعي
الصفحة الرئيسية
PHP
✅ استخدام مع ملفات غير موجودة
مع include:
include "notfound.php";
echo "هذه الصفحة تعمل رغم الخطأ<br>";
PHP

📌 الناتج:

Warning: include(notfound.php): Failed to open stream...
هذه الصفحة تعمل رغم الخطأ
PHP
مع require:
require "notfound.php";
echo "لن تصل لهذه الرسالة";
PHP

📌 الناتج:

Fatal error: require(): Failed opening required...
PHP

⛔ البرنامج يتوقف تمامًا.

🧠 ملاحظات مهمة

✅ include_once و require_once

تُستخدم لمنع تكرار إدراج نفس الملف أكثر من مرة.

الأمرالوظيفة
include_onceإدراج الملف فقط إذا لم يُدرج سابقًا
require_onceنفس الفكرة لكن مع سلوك require
مثال:
include_once "config.php";
include_once "config.php"; // لن يتكرر الإدراج
PHP
✅ الفروقات الكاملة:
المقارنةincludeinclude_oncerequirerequire_once
يتابع تنفيذ الكود؟✅ نعم✅ نعم❌ لا❌ لا
يتحقق من التكرار؟❌ لا✅ نعم❌ لا✅ نعم
الأفضل مع ملفات هامة؟❌ لا❌ لا✅ نعم✅ نعم
✅ أفضل الممارسات (توصيات)
التوصيةالسبب
استخدم require مع ملفات حساسةمثل الاتصال بقاعدة البيانات
استخدم include للملفات الشكليةمثل header, footer, sidebar
استخدم *_once عند الحاجةمثل ملفات تحتوي دوال أو إعدادات
رتّب ملفاتك بشكل منظممثل includes/, partials/, config/
✅ هيكل مشروع مقترح:
project/
├── index.php
├── includes/
│   ├── header.php
│   ├── footer.php
├── config/
│   └── db.php
PHP
<?php
require_once 'config/db.php';
include 'includes/header.php';

echo "محتوى الصفحة<br>";

include 'includes/footer.php';
?>
PHP
⚠️ محاذير
المحذورالسبب
نسيان امتداد الملف .phpقد لا يتم الإدراج
استخدام مسارات خاطئةتأكد من مكان الملف بالنسبة للمجلد الحالي
استخدام include في ملفات حساسةمثل بيانات قاعدة البيانات — استخدم require بدلاً
تكرار الإدراجيؤدي لتعريف الدوال مرتين => خطأ — استخدم *_once
🧪 تمارين للطلاب:
  1. أنشئ ملفًا باسم header.php فيه جملة “رأس الصفحة”.
  2. أنشئ ملفًا باسم footer.php فيه جملة “نهاية الصفحة”.
  3. في index.php استخدم include لإظهار كلا الملفين حول عبارة “محتوى الصفحة”.
📌 ملخص سريع:
لو تحتاج…استخدم
إدراج ملف وقد يُفشل، وتريد المتابعةinclude
إدراج ملف ولا تقبل أن يُفشلrequire
منع التكرار في الإدراجinclude_once أو require_once
تنظيم ملفات المشروعاستخدم مجلدات includes/, config/ وهكذا