تُستخدم وظائف التضمين والمطلوب في PHP لتضمين الملفات الخارجية وتنفيذها في نص PHP النصي. على الرغم من أنها تخدم غرضًا مشابهًا ، إلا أن هناك اختلافات دقيقة بينها يمكن أن تؤثر على سلوك التعليمات البرمجية الخاصة بك.
تُستخدم وظيفة التضمين لتضمين ملف ومتابعة تنفيذ البرنامج النصي حتى إذا لم يتم العثور على الملف. إذا لم يتم العثور على الملف ، يتم عرض رسالة تحذير ، ولكن يستمر تنفيذ البرنامج النصي. يمكن أن يكون هذا مفيدًا عند تضمين ملفات ليست مهمة لوظيفة البرنامج النصي. هذا مثال:
php include 'myfile.php';
من ناحية أخرى ، يتم استخدام الوظيفة المطلوبة لتضمين ملف ووقف تنفيذ البرنامج النصي إذا لم يتم العثور على الملف. إذا لم يتم العثور على الملف ، يتم عرض خطأ فادح ، ويتم إنهاء تنفيذ البرنامج النصي. يكون هذا مفيدًا عند تضمين الملفات الضرورية لوظيفة البرنامج النصي. هذا مثال:
php require 'myfile.php';
في كلتا الحالتين ، يمكن أن يحتوي الملف المضمن على كود PHP أو ترميز HTML أو مزيج من كليهما. يتم التعامل مع الملف المضمن كما لو كانت محتوياته مكتوبة مباشرة في مكان بيان التضمين أو الطلب.
تجدر الإشارة إلى أنه يمكن أيضًا استخدام كل من التضمين والمطلوب بمسار مطلق أو نسبي لتضمين ملفات من أدلة مختلفة. على سبيل المثال:
php include '/path/to/myfile.php'; require '../path/to/myfile.php';
عند استخدام التضمين أو الطلب ، من المهم مراعاة التأثير على الأداء والأمان. يمكن أن يؤدي تضمين ملفات غير ضرورية أو تضمين ملفات من مصادر غير موثوق بها إلى حدوث ثغرات أمنية لتطبيقك. لذلك ، يوصى باستخدام التضمين والمطالبة بحذر والتأكد من أن الملفات المضمنة ضرورية وآمنة.
يتمثل الاختلاف الرئيسي بين دالات التضمين والمطلوب في PHP في أن التضمين سيعرض تحذيرًا ويواصل تنفيذ البرنامج النصي إذا لم يتم العثور على الملف ، بينما سيعرض طلب خطأ فادحًا ويوقف تنفيذ البرنامج النصي. من المهم اختيار الوظيفة المناسبة بناءً على أهمية الملف المضمن.
أسئلة وأجوبة أخرى حديثة بخصوص التقدم في PHP:
- ما هي بعض العمليات التي يمكن إجراؤها على بيانات النموذج في PHP بعد الحصول عليها؟
- كيف يمكننا الوصول إلى بيانات النموذج المرسلة من خلال أساليب GET و POST في PHP؟
- ما هو الفرق بين طريقتي GET و POST في عمليات إرسال النماذج ، ومتى يجب استخدام كل طريقة؟
- كيف يمكننا تضمين ملف header.php في صفحات HTML الخاصة بنا باستخدام PHP؟
- ما هي مزايا استخدام الدالتين "مطلوب" و "تضمين" في PHP لإنشاء قوالب لمشروع تطوير الويب؟
- لماذا من المفيد استخدام وتطلب وظائف لإنشاء قوالب في تطوير الويب؟
- كيف يمكننا إنشاء قالب نافبار في PHP؟
- ماذا يحدث إذا حدث خطأ أثناء تضمين ملف باستخدام وظيفة التضمين؟
- كيف يمكننا تضمين ملف في PHP باستخدام عبارة include أو Requir؟
- كيف يمكننا تحديث قيمة المتغير العام من داخل دالة في PHP؟
عرض المزيد من الأسئلة والأجوبة في Advancing in PHP