PHP: Onko SimpleXML ladattu?

Depositphotos 11843590 s

Olen rakentanut pari laajennusta, jotka vaativat PHP5 + ja SimpleXML. SimpleXML on paljon helpompi ja paremmin toimiva menetelmä XML-vastausten jäsentämiseen APIs. Ongelmana on kuitenkin se, että saisin muutaman sähköpostin päivässä tai viikossa ja kysyisin, miksi käyttäjä ei voinut ladata ohjelmaa ja se johti virheisiin.

Ilmeisesti huomautukseni laajennuksista ja projektisivuilta eivät riittäneet, joten tein oikein ja lisäsin molempiin laajennuksiin toimintoja varmistaaksesi, että SimpleXML-laajennus on ladattu.

PHP-toiminto SimpleXML-laajennuksen lataamisen tarkistamiseksi:

funktio onSimpleXMLLoaded () {$ array = array (); $ array = get_loaded_extensions (); $ tulos = väärä; foreach ($ array muodossa $ i => $ value) {if (strtolower ($ value) == "simplexml") {$ result = true; }} return $ tulos; }

Nyt voin yksinkertaisesti varmistaa SimpleXML: ää käyttävien toimintojen sisällä, että se ladataan, ennen kuin yritän todella kokeilla SimpleXML-puhelua. Jos

if (! isSimpleXMLLoaded ()) {echo "Isännöi sivustoasi muualla!"; palata; }

Tiedän, että minulla on joitain PHP-guruja, jotka pitävät silmällä blogiani, kerro minulle, kuinka pärjäsin! Olen julkaissut pieniä päivityksiä molempiin laajennuksiin tämän menetelmän hyödyntämiseksi.

6 Kommentit

  1. 1

    Hei Doug,

    Huomasin yhden virheen, joka ei todennäköisesti aiheuta virhettä.

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

    tulisi olla

    if ($ value == “SimpleXML”) {$ tulos = true; }

    Vaikka turvallisuuden vuoksi. Minä suosin.

    if (strtolower ($ value) == “simplexml”) {$ tulos = true; }

    Voit käyttää myös tiedostoa 'extension_loaded', joka tarkistaa laajennuksen nimen (kirjainkoon erottelu).

    $ loaded = extension_loaded ("SimpleXML");

    Palauttaa arvon TOSI tai EPÄTOSI.

    PS Älä juo itse kahvia, mutta voin laittaa 'osta minulle laatikko munkkeja' -painikkeen

    • 2

      Nosta se munkkipainike ylös, Nick! Olet ihmishenkien pelastaja! Hauska on se, että (miinus strtolower), näytin koodini todella ja käynnistäin oikean arvioinnin. Se on ollut myöhäistä, koska kun laitoin sen sisään, sekaisin sen!

      Olen muokannut koodia ja blogiviestiä. Kysymys: Onko sinulla mitään etua toiseen nähden? Luulen, että extension_loaded on paljon puhtaampi ja nopeampi tapa käsitellä tätä!

      Kiitos Nick!

  2. 4

    yum install php55-xml.x86_64 asentaa simpleXML php: lle 5.5.11

    Juoksutapahtuma
    Installing : php55-xml-5.5.11-1.el6.x86_64 1/1
    Verifying : php55-xml-5.5.11-1.el6.x86_64 1/1

    ja sitten se asennettiin
    /usr/lib64/php/modules/simplexml.so

  3. 5

Mitä mieltä olet?

Tämä sivusto käyttää Akismetiä roskapostin vähentämiseksi. Lue, miten kommenttitietosi käsitellään.