استخدام دالة include و require : ستتعلم في هذا الدرس سنتعلم كيفية تضمين الملفات في PHP. مع استخدام أمثلة مباشرة لطتابة الكود باستخدام دالة include و require
استخدام دالة include و require
تضمين ملف PHP إلى ملف PHP آخر
تسمح لك الدالة include() و require() بتضمين الشفرة من ملف PHP في ملف PHP آخر.
ينتج عن ذلك ملف يحتوي الشفرة البرمدية التي في الملفين
النتيجة مثل نسخ البرنامج النصي من الملف المحدد ولصقه في الموقع الذي يتم تضمينه به.
يمكنك توفير الكثير من الوقت والعمل من خلال تضمين الملفات – فقط قم بتخزين كتلة من التعليمة البرمجية في ملف منفصل وقم بتضمينها حيثما تريد باستخدام عبارات include () و require () بدلاً من كتابة كتلة الكود بالكامل عدة مرات.
الاستخدام النموذجي لها هو تضمين رأس الصفحة وتذييلها وملف القائمة في جميع صفحات موقع الويب.
يمكن إعطاء الصيغة الأساسية لتعليمة include () و require () كما يلي:
include("path/to/filename"); -Or- include "path/to/filename";
require("path/to/filename"); -Or- require "path/to/filename";
سيوضح لك المثال التالي كيفية تضمين رموز رأس الصفحة وتذييلها ورموز القائمة التي يتم تخزينها في ملفات “header.php” و “footer.php” و “menu.php” منفصلة على التوالي ، في جميع صفحات موقعك على الويب.
باستخدام هذه التقنية ، يمكنك تحديث جميع صفحات الموقع مرة واحدة عن طريق إجراء التغييرات على ملف واحد فقط ، وهذا يوفر الكثير من العمل المتكرر.
الفرق بين include و require
قد تفكر إذا ما كان بإمكاننا تضمين الملفات باستخدام العبارة (include) ، فلماذا نحتاج إلى (require).
عادة ما تعمل العبارة (require ) مثل (include).
والفرق الوحيد هو – فيما تعذر العثور على الملف المحدد
العبارة (include ) ستقوم فقط بإظهار رسالة تحذير PHP ولكن مع السماح بتنفيذ البرنامج النصي للمتابعة
بينما العبارة (require) سوف تؤدي إلى ظهور خطأ قم يتوقف تنفيذ البرنامج النصي عندها ولا يكتمل عرض الصفحة .
استخدام دوال include_once و require_once
إذا قمت عن طريق الخطأ بتضمين نفس الملف (عادةً ما تكون الدوال أو ملفات الكلاسات) أكثر من مرة داخل التعليمة البرمجية باستخدام include أو require ، فقد يتسبب ذلك في حدوث تعارضات.
لمنع هذا الموقف ، يوفر لنا بي اتش بي دوال أخرى هي include_once و require_once.
تتصرف هذه العبارات بنفس الطريقة في تضمين الملفات مع استثناء واحد.
تقوم عبارات include_once و require_once بتضمين الملف مرة واحدة فقط حتى إذا طلب منه تضمينه مرة ثانية ،
بمعنى إذا كان الملف المحدد قد تم إدراجه بالفعل في عبارة سابقة ، فلن يتم تضمين الملف مرة أخرى.
لفهم كيفية عملها بشكل أفضل ، دعنا ندرس هذا المثال.
في البداية لابد أن يكون لدينا ملف ، ولنفترض أن لدينا ملف “my_functions.php” بالرمز التالي:
في هذا الملف أنشأنا دالة بسيطة تقوم بضرب الرقم في نفسه ،
فيما يلي سنقوم بتضمين الملف مرتين لنجرب النتيجة
لاحظ عند عمل require مرة ثانية ستظهر رسالة خطأ
عند تشغيل البرنامج النصي أعلاه ، سترى رسالة الخطأ شيء مثل هذا:
Fatal error: Cannot redeclare multiplySelf()
يحدث هذا بسبب تضمين “my_functions.php” مرتين ، وهذا يعني أن الدالة (multiplySelf ) يتم تعريفها مرتين ، مما أدى إلى توقف PHP عن تنفيذ البرنامج النصي وإنشاء رسالة الخطأ .
الآن إعادة كتابة المثال أعلاه مع require_once.
كما ترون ، باستخدام require_once بدلاً من require ، يعمل البرنامج النصي كما بشكل سليم توقعنا.
نهاية الدرس : استخدام دالة include و require