PHP: Έχει φορτωθεί το SimpleXML;

Depositphotos 11843590 δ

Υπάρχουν δύο πρόσθετα που έχω δημιουργήσει που απαιτούν PHP5 + και simplexml. Το SimpleXML είναι μια πολύ ευκολότερη και καλύτερη απόδοση μεθόδου ανάλυσης XML από APIμικρό. Το πρόβλημα, ωστόσο, είναι ότι θα έπαιρνα λίγα μηνύματα ηλεκτρονικού ταχυδρομείου την ημέρα ή την εβδομάδα, με ρωτώντας γιατί ο χρήστης δεν μπόρεσε να φορτώσει το πρόγραμμα και είχε ως αποτέλεσμα σφάλματα.

Προφανώς, οι ειδοποιήσεις μου στις προσθήκες και στις σελίδες του έργου δεν ήταν αρκετές, οπότε έκανα το σωστό και πρόσθεσα λειτουργικότητα και στις δύο προσθήκες για να επιβεβαιώσω ότι έχει φορτωθεί η επέκταση SimpleXML.

Η λειτουργία PHP για τον έλεγχο της επέκτασης SimpleXML έχει φορτωθεί:

η συνάρτηση isSimpleXMLLoaded () {$ array = array (); $ array = get_loaded_extensions (); $ αποτέλεσμα = false; foreach ($ array ως $ i => $ value) {if (strtolower ($ value) == "simplexml") {$ αποτέλεσμα = true; }} επιστρέψτε το αποτέλεσμα $; }

Τώρα, μέσα στις λειτουργίες που χρησιμοποιούν SimpleXML, μπορώ απλώς να βεβαιωθώ ότι έχει φορτωθεί πριν δοκιμάσω πραγματικά την κλήση SimpleXML. Αν

if (! isSimpleXMLLoaded ()) {echo "Φιλοξενήστε τον ιστότοπό σας κάπου αλλού!"; ΕΠΙΣΤΡΟΦΗ; }

Ξέρω ότι έχω μερικούς γκουρού PHP που παρακολουθούν το blog μου, επιτρέψτε μου να ξέρω πώς το έκανα! Έχω κυκλοφορήσει μικρές ενημερώσεις και στα δύο πρόσθετα για να χρησιμοποιήσω αυτήν τη μέθοδο.

6 Σχόλια

  1. 1

    Hi Doug,

    Παρατήρησα ένα σφάλμα που πιθανότατα δεν προκαλεί σφάλμα.

    if ($ value = "SimpleXML") {$ αποτέλεσμα = true; }

    θα πρέπει να είναι

    if ($ value == "SimpleXML") {$ αποτέλεσμα = true; }

    Αν και για λόγους ασφαλείας. Προτιμώ.

    if (strtolower ($ value) == "simplexml") {$ αποτέλεσμα = true; }

    Θα μπορούσατε επίσης να χρησιμοποιήσετε το "extension_loaded", το οποίο παίρνει το όνομα της επέκτασης για έλεγχο (διάκριση πεζών-κεφαλαίων).

    $load = extension_loaded ("SimpleXML");

    Επιστρέφει TRUE ή FALSE.

    PS Μην πίνετε καφέ μόνοι μου, αλλά μπορώ να βάλω ένα κουμπί "αγοράστε ένα κουτί με ντόνατς" 🙂

    • 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 για να μειώσει το spam. Μάθετε πώς επεξεργάζονται τα δεδομένα των σχολίων σας.