الفرق بين include(), require(), include_once(), ()require_once في لغة php
سوف أشرح لكم في هذه المشاركة أربع دوال هامة في PHP لتضمين الملفات ضمن صفحات الويب المختلفة.
هناك أربع دوال أساسية تستخدم لتضمين الملفات في صفحة php ولكن هناك فرق بسيط بينها عليك أن تدركه لتعرف أي دالة تستخدم بالشكل الصحيح ضمن موقع الويب الخاص بك. هذه الدوال هي:
- ()include
- ()require
- ()include_once
- ()require_once
وإليك شرح لطريقة عمل كل دالة منها.
()include :
تُستخدم هذه الدالة لتضمين ملف في صفحة PHP إذا كانت وظيفة ()include غير قادرة على العثور على ملف محدد في الموقع فإنها ستلقي رسالة تحذير لكنها لن تتسبب في توقف تنفيذ البرنامج.
<?php
include 'file_name';
?>
افترض أنك تقوم بتطوير موقع ويب يحتوي على نفس قائمة التنقل عبر جميع الصفحات، يمكنك إنشاء ملف ترويسة مشترك header.php يتضمن الكود التالي
<a href="index.php">Home</a>
<a href="aboutus.php">About us</a>
<a href="services.php">Services</a>
<a href="contactus.php">Contact Us</a>
ثم بعدها يمكنك أن تقوم بتضمينه في كل صفحة باستخدام عبارة التضمين على سبيل المثال في الملف index.php يمكن أن تكتب التالي لعرض الترويسة في الصفحة الرئيسية
<?php
include 'header.php';
?>
()include_once :
تُستخدم هذه الدالة لإضافة الملف مرة واحدة فقط في كل مرة. إذا تم تضمين الكود من ملف بالفعل، فلن تتم إضافته مرة أخرى إذا استخدمنا ()include_once ولم يتمكن من تحديد موقع ملف محدد في ذلك الوقت فسيؤدي ذلك إلى إنشاء رسالة تحذير ولكنها لن توقف تنفيذ المحتوى.
<?php
include_once 'file_name';
<?
()require :
تُستخدم هذه الدالة لإضافة ملف في صفحة PHP وفي حال لم تتمكن الدالة من تحديد موقع الملف المحدد فسيؤدي ذلك إلى حدوث خطأ فادح وسيوقف تنفيذ البرنامج.
<?php
require 'file_name';
?>
على سبيل المثال يمكنك إنشاء ملف إعدادات config.php
<?php
$config['host'] = 'localhost';
$config['db'] = 'my_database';
$config['uid'] = 'root';
$config['password'] = '';
?>
بعدها يمكنك تضمينه في جميع الصفحات التي تتصل بقاعدة البيانات باستخدام require
<?php
require 'config.php'; //require the config file
//other code for connecting to the database
?>
()require_once :
في حالة تضمين الكود من ملف php من خلال الدالة require_once، فلن يتم تضمينه مرة أخرى يعني ذلك أن ()request_once ستضيف الملف مرة واحدة فقط في كل مرة. وإذا لم تتمكن هذه الدالة من تحديد موقع الملف فسيؤدي في ذلك الوقت إلى حدوث خطأ فادح ويوقف تنفيذ البرنامج.
<?php
require_once 'file_name';
?>
بشكل عام يمكن استخدام عبارات "include" و "request" في أي سطر في كود المصدر حيث تريد ظهور الكود لكن يوصى باستخدام عبارة include إذا أردنا عند حدوث خطأ ما فسوف يستمر تنفيذ الكود البرمجي واستخدام عبارة require إذا كان تشغيل البرنامج بأكمله غير ممكن بدون الملف المطلوب.
الخلاصة:
- ()include
- ()require
- ()include_once
- ()require_once