PHP هي إحدى لغات البرمجة الأكثر استخدامًا في تطوير الويب. من أهم مميزات هذه اللغة أنها تقدم طرق تحديد مختلفة. دعونا نلقي نظرة سريعة على علامات الفتح والإغلاق في PHP:

  • <?php ?>
  • <?= ?>
  • <? ?>
  • <% %>

من أجل استخدام PHP بشكل أكثر كفاءة، من الضروري فهم الاختلافات وأهمية هذه العلامات. في هذه المقالة، سوف نتعلم كيفية استخدام علامات PHP بشكل فعال.

لماذا لا يجب علينا استخدام علامات PHP القصيرة؟

يمكن أن تكون علامات PHP القصيرة أكثر فائدة لسهولة وسرعة البرمجة. ومع ذلك، في معظم الاستضافة والخوادم يتم تعطيله افتراضيًا في تكوين PHP.ini. في تكوين PHP.ini لكي تعمل هذه العلامات القصيرة short_open_tag يجب تفعيل الخيار لذا فإن الطريقة الوحيدة التي ستعمل بالتأكيد على كل خادم PHP هي . إذا كنت تفكر في نشر PHP الخاص بك على خادم لا تتحكم فيه، فيمكنك ذلك دائمًا <?php ?> يجب عليك استخدام هذا النهج.

علامة صدى PHP القصيرة وPHP.ini

<?php echo() ?>

في PHP <?= العلامة في تكوين PHP short_open_tag يمكن استخدامه سواء تم تمكين الخيار أم لا، حتى تتمكن من استخدام هذا الاختصار بأمان بدلاً من الخيار أعلاه.
إذا كنت تكتب تعليمات برمجية لنفسك فقط ويمكنك التحكم في تكوين PHP الذي تستخدمه، فقد تجد العلامات القصيرة أكثر فائدة. لكن تذكر ذلك <? ?> قد تتعارض العلامة مع إعلانات XML. ايضا <% %> العلامة هي في الواقع نمط ASP.

PHP العلامات الختامية والمشاكل المحتملة

إغلاق ملف PHP خالص (على سبيل المثال، ملف يحتوي على تعريف فئة فقط) ?> عند إضافة العلامة، احرص على عدم ترك أي أسطر فارغة خلفها. بينما يمكن لمترجم PHP "تنفيذ" حرف فاصل سطر واحد بأمان بعد علامة الإغلاق، فقد يتم إخراج فواصل أسطر أخرى إلى المتصفح. إذا كنت تقوم بعد ذلك بكتابة رؤوس HTTP، فقد تصبح الأمور أكثر إرباكًا.

PHP PSR-2

يعد معيار الترميز PSR-2 جزءًا من معايير ترميز PHP PSR التي تم إنشاؤها لتحديد أفضل الممارسات في PHP. تنطبق معايير الترميز PSR-2 فقط على الملفات التي تحتوي على كود PHP. ?> توصي بعدم استخدام علامات الإغلاق. السبب الرئيسي لهذه التوصية هو منع إرسال الأحرف مثل المسافات أو فواصل الأسطر عن طريق الخطأ بعد علامة الإغلاق إلى المتصفح. في PHP، ?> يعتبر أي حرف يتبع العلامة تلقائيًا جزءًا من مخرجات HTML. يمكن أن يكون هذا مشكلة بشكل خاص عند معالجة رؤوس HTTP.

يمكن للأحرف غير الضرورية في نهاية ملف PHP أن تمنع معالجة رؤوس HTTP بشكل صحيح. في بروتوكول HTTP، أي إخراج يجعل من المستحيل إرسال الرؤوس لأنه يجب إكمال الرؤوس قبل إرسال المحتوى. يؤدي هذا إلى مشكلة تُعرف باسم الرؤوس المرسلة بالفعل، والتي يمكن أن تؤثر على إجراءات مثل بدء جلسة، أو تعيين ملف تعريف ارتباط، أو إعادة توجيه الصفحة.

لذلك، يوصي PSR-2 بعدم استخدام علامة الإغلاق في الملفات التي تحتوي على كود PHP فقط، وذلك لتجنب مثل هذه الأخطاء الشائعة والحفاظ على نظافة الكود. يزيل هذا الأسلوب المشكلات المحتملة التي قد تحدث بسبب المسافات غير المرغوب فيها أو أحرف نهاية السطر في نهاية الكود ويساهم في تشغيل أكثر استقرارًا وخاليًا من الأخطاء لبرامج PHP النصية.

علامات PHP والتوافق

عند كتابة تطبيقات الويب للإصدارات الأقدم، يتم الإغلاق ?> أتش تي أم أل مع العلامات <!doctype> احرص على عدم ترك سطر جديد بين العلامات. قد تؤدي الإصدارات الأقدم من IE إلى ظهور أخطاء مختلفة إذا واجهت أي مسافات، بما في ذلك الأسطر الجديدة، قبل إعلان نوع المستند. ليس هذا هو الحال مع الإصدارات الأحدث من IE والمتصفحات الأخرى الأكثر تقدمًا. (أي لكل متصفح بخلاف IE.)