PHP: האם נטען SimpleXML?

11843590 ש

ישנם כמה תוספים שבניתי הדורשים PHP5 + ו- פשוט. SimpleXML היא שיטה הרבה יותר קלה וביצועית לניתוח תגובות XML מ APIס. הבעיה היא שהייתי מגיע למספר מיילים ביום או בשבוע ושואל אותי מדוע המשתמש לא יכול לטעון את התוכנית וזה הביא לשגיאות.

ככל הנראה, ההודעות שלי על התוספים ובדפי הפרויקט לא הספיקו, אז עשיתי את הדבר הנכון והוספתי פונקציונליות לשני התוספים כדי לוודא שסיומת SimpleXML נטענת.

פונקציית PHP לבדיקת סיומת SimpleXML נטענת:

הפונקציה isSimpleXMLLoaded () {$ array = array (); $ array = get_loaded_extensions (); $ תוצאה = שקר; foreach ($ array כ- $ i => $ value) {if (strtolower ($ value) == "simplexml") {$ result = true; }} להחזיר $ תוצאה; }

כעת, בתוך הפונקציות המשתמשות ב- SimpleXML, אני יכול פשוט להבטיח שהוא נטען לפני שאנסה את שיחת SimpleXML בפועל. אם

אם (! isSimpleXMLLoaded ()) {echo "מארח את האתר שלך במקום אחר!"; לַחֲזוֹר; }

אני יודע שיש לי כמה גורואים של PHP שעוקבים אחרי הבלוג שלי, תודיע לי איך עשיתי! פרסמתי עדכונים קלים לשני התוספים כדי להשתמש בשיטה זו.

תגובות 6

  1. 1

    היי דאג,

    שמתי לב לבאג אחד שכנראה לא מעלה שגיאה.

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

    צריך להיות

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

    אם כי למען הבטיחות. אני מעדיף.

    if (strtolower($value) == "simplexml") { $result = true; }

    אתה יכול גם להשתמש ב-'extension_loaded' שלוקח את שם התוסף לבדוק (תלוי רישיות).

    $loaded = extension_loaded(“SimpleXML”);

    מחזירה TRUE או FALSE.

    נ.ב. אל תשתה קפה בעצמי אבל אולי אשים כפתור 'קנה לי קופסת סופגניות' 🙂

    • 2

      תרים את כפתור הדונאט הזה, ניק! אתה מציל חיים! מה שמצחיק הוא ש(מינוס ה-strtolower), למעשה עבדתי על קוד הדוגמה שלי ומשתמש בהערכה הנכונה. זה בטח היה מאוחר כי עד שהכנסתי את זה, פישלתי את זה!

      שיניתי את הקוד ואת הפוסט בבלוג. שאלה: יש יתרון של אחד על פני השני? אני מניח שה-extension_loaded היא דרך הרבה יותר נקייה ומהירה להתמודד עם זה!

      תודה ניק!

  2. 4

    יאמ התקן את php55-xml.x86_64 כדי להתקין simpleXML עבור php 5.5.11

    הפעלת עסקה
    מתקין: php55-xml-5.5.11-1.el6.x86_64 1/1
    מאמת: php55-xml-5.5.11-1.el6.x86_64 1/1

    ואז זה הותקן
    /usr/lib64/php/modules/simplexml.so

  3. 5

מה אתה חושב?

אתר זה משתמש Akismet כדי להפחית דואר זבל. למד כיצד הנתונים שלך מעובדים.