ما الفرق بين 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 فلا توجد هذه المشكلة. لماذا يحدث ذلك؟