PHP: هل تم تحميل SimpleXML؟

إيداع الصور 11843590 ثانية

هناك بعض الإضافات التي قمت بإنشائها والتي تتطلب PHP5 + و SimpleXML. SimpleXML هي طريقة أسهل بكثير وأفضل أداء لتحليل استجابات XML من APIس. ومع ذلك ، فإن المشكلة تكمن في أنني سأتلقى بضعة رسائل بريد إلكتروني يوميًا أو أسبوعًا تسألني لماذا لا يستطيع المستخدم تحميل البرنامج مما أدى إلى حدوث أخطاء.

على ما يبدو ، لم تكن إشعاراتي على المكونات الإضافية وعلى صفحات المشروع كافية ، لذلك فعلت الشيء الصحيح وأضفت وظائف إلى كلا المكونين الإضافيين للتحقق من تحميل ملحق SimpleXML.

وظيفة PHP للتحقق من تحميل ملحق SimpleXML:

الوظيفة isSimpleXMLLoaded () {$ array = array () ؛ مجموعة $ = get_loaded_extensions () ؛ النتيجة $ = خطأ ؛ foreach ($ array as $ i => $ value) {if (strtolower ($ value) == "simplexml") {$ result = true؛ }} return $ result؛ }

الآن ، ضمن الوظائف التي تستخدم SimpleXML ، يمكنني ببساطة التأكد من تحميلها قبل أن أحاول بالفعل استدعاء SimpleXML. إذا

if (! isSimpleXMLLoaded ()) {echo "استضافة موقعك في مكان آخر!"؛ إرجاع؛ }

أعلم أن لدي بعض معلمي PHP الذين يراقبون مدونتي ، دعني أعرف كيف فعلت! لقد أصدرت تحديثات طفيفة لكلا المكونين الإضافيين لاستخدام هذه الطريقة.

6 تعليقات

  1. 1

    مرحبا دوغ ،

    لقد لاحظت وجود خطأ واحد ربما لا يثير خطأ.

    if ($ value = "SimpleXML") {$ result = true؛ }

    ينبغي أن تكون

    if (القيمة $ == “SimpleXML”) {$ result = true؛ }

    على الرغم من أن من أجل السلامة. أنا أفضل.

    if (strtolower ($ value) == “simplexml”) {$ result = true؛ }

    يمكنك أيضًا استخدام "extension_loaded" الذي يأخذ اسم الامتداد للتحقق (حساس لحالة الأحرف).

    $ محملة = extension_loaded (“SimpleXML”) ؛

    إرجاع TRUE أو FALSE.

    ملاحظة: لا تشرب القهوة بنفسي ولكن يمكنني وضع زر "اشتر لي علبة دوناتس" 🙂

    • 2

      احصل على هذا الزر دونات ، نيك! أنت منقذ! الأمر المضحك هو أنه (ناقصًا strtolower) ، لقد قمت بالفعل بتشغيل نموذج الشفرة واستخدام التقييم الصحيح. يجب أن يكون الوقت قد تأخر لأنه بحلول الوقت الذي وضعته فيه ، أفسدت الأمر!

      لقد قمت بتعديل الكود ومشاركة المدونة. سؤال: أي ميزة لأحد على الآخر؟ أعتقد أن extension_loaded طريقة أنظف وأسرع بكثير للتعامل مع هذا الأمر!

      شكرا نيك!

  2. 4

    yum قم بتثبيت php55-xml.x86_64 لتثبيت simpleXML على php 5.5.11

    تشغيل المعاملة
    Installing : php55-xml-5.5.11-1.el6.x86_64 1/1
    Verifying : php55-xml-5.5.11-1.el6.x86_64 1/1

    ثم تم تثبيته
    /usr/lib64/php/modules/simplexml.so

  3. 5

ما رأيك؟

يستخدم هذا الموقع نظام Akismet لتقليل الرسائل الضارة. تعرف كيف تتم معالجة بيانات تعليقك.