PHP: Is SimpleXML gelaai?

Depositphotos 11843590 s

Daar is 'n paar plugins wat ek gebou het wat PHP5 + en benodig SimpleXML. SimpleXML is 'n baie makliker en beter presterende metode om XML-antwoorde te ontleed APIs. Die probleem is egter dat ek 'n paar e-posse per dag of week sou kry om my te vra waarom die gebruiker nie die program kon laai nie en dit het tot foute gelei.

Klaarblyklik was my kennisgewings op die inproppe en op die projekbladsye nie genoeg nie, daarom het ek die regte ding gedoen en funksionaliteit by albei invoegtoepassings gevoeg om te verifieer dat die SimpleXML-uitbreiding gelaai is.

PHP-funksie om na te gaan of die SimpleXML-uitbreiding gelaai is:

funksie isSimpleXMLLoaded () {$ array = array (); $ skikking = get_loaded_extensions (); $ resultaat = onwaar; foreach ($ array as $ i => $ value) {if (strtolower ($ value) == "simplexml") {$ result = true; }} lewer $ resultaat; }

Nou, binne die funksies wat SimpleXML gebruik, kan ek eenvoudig verseker dat dit gelaai is voordat ek die SimpleXML-oproep eintlik probeer. As

as (! isSimpleXMLLoaded ()) {echo "Hou u webwerf êrens anders aan!"; terugkeer; }

Ek weet dat ek 'n paar PHP-ghoeroes het wat my blog dophou. Laat my weet hoe ek dit gedoen het! Ek het klein opdaterings vir albei inproppe uitgebring om hierdie metode te gebruik.

6 Comments

  1. 1

    Hallo Doug,

    Ek het 'n een fout opgemerk wat waarskynlik nie 'n fout veroorsaak nie.

    if ($waarde = "SimpleXML") { $result = waar; }

    behoort te wees

    if ($waarde == “SimpleXML”) { $result = waar; }

    Alhoewel dit ter wille van veiligheid. Ek verkies.

    if (strtolower($waarde) == “simplexml”) { $result = waar; }

    Jy kan ook 'extension_loaded' gebruik wat die uitbreidingnaam neem om na te gaan (hooflettergevoelig).

    $loaded = extension_loaded(“SimpleXML”);

    Wys WAAR of ONWAAR.

    NS Moenie self koffie drink nie, maar ek kan dalk 'n 'koop vir my 'n boks donuts'-knoppie sit 🙂

    • 2

      Kry daardie doughnut-knoppie op, Nick! Jy is 'n lewensredder! Wat snaaks is, is dat (minus die strtolower), ek eintlik my voorbeeldkode aan die gang gehad het en die regte evaluering gebruik het. Dit moes laat gewees het, want teen die tyd dat ek dit ingesit het, het ek dit deurmekaar gemaak!

      Ek het die kode en die blogpos gewysig. Vraag: Enige voordeel van die een bo die ander? Ek dink die extension_loaded is 'n baie skoner en vinniger manier om dit te hanteer!

      Dankie Nick!

  2. 4

    yum installeer php55-xml.x86_64 om simpleXML vir php 5.5.11 te installeer

    Loop transaksie
    Installeer tans: php55-xml-5.5.11-1.el6.x86_64 1/1
    Verifieer: php55-xml-5.5.11-1.el6.x86_64 1/1

    en toe is dit geïnstalleer
    /usr/lib64/php/modules/simplexml.so

  3. 5

Wat dink jy?

Hierdie webwerf gebruik Akismet om spam te verminder. Leer hoe jou opmerking verwerk is.