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

    היי דאג,

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

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

    צריך להיות

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

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

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

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

    $ loaded = extension_loaded ("SimpleXML");

    מחזירה TRUE או FALSE.

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

    • 2

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

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

      תודה ניק!

  2. 4

    yum להתקין 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 כדי להפחית דואר זבל. למד כיצד הנתונים שלך מעובדים.