Avatar ·

ما الفرق بين include و require و include_once و require_once في PHP؟

مرحبًا بالجميع! لقد بدأت للتو في تعلم PHP ولا أستطيع فهم الفرق بين هذه الإنشاءات الأربعة لتضمين الملفات. يبدو أن جميعها تفعل الشيء نفسه — إدراج كود من ملف آخر.

لدي ملف config.php مع إعدادات قاعدة البيانات:

<?php
$host = 'localhost';
$db = 'mydb';
$user = 'root';
$pass = '';
?>

وأقوم بتضمينه في index.php بطرق مختلفة:

<?php
include 'config.php';
// أو
require 'config.php';
// أو
include_once 'config.php';
// أو
require_once 'config.php';
?>

جميع الخيارات الأربعة تعمل، وأرى المتغيرات من config.php. إذن ما الفرق؟ متى نستخدم أيًا منها؟

كما لاحظت شيئًا غريبًا: إذا كتبت include 'config.php' مرتين، أحصل على خطأ بأن المتغيرات يتم إعادة تعريفها. أما مع include_once فلا توجد هذه المشكلة. لماذا يحدث ذلك؟

p>والأهم — ماذا سيحدث