Avatar ·

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

مرحبًا بالجميع! لقد بدأت للتو في تعلم PHP ولا أستطيع فهم كيفية تضمين الملفات. في الكتب الدراسية والمنتديات، أجد دائمًا أربع تركيبات: require و include و require_once و include_once. للوهلة الأولى، يبدو أنها تفعل نفس الشيء — إدراج كود من ملف آخر، لكني أشعر أن هناك اختلافات مهمة بينها.

إليك مثال على الكود الخاص بي. لدي ملف config.php يحتوي على إعدادات قاعدة البيانات:

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

والملف الرئيسي index.php، حيث أحاول تضمينه:

<?php
include 'config.php';
echo $host; // يعمل
?>

ولكن عندما أغير include إلى require، يبدو السلوك مشابهًا. وإذا كان الملف غير موجود، فإن include يعرض خطأ فقط، بينما require يوقف السكريبت. وماذا عن require_once و include_once؟