PHP: Je li SimpleXML opterećen?

Depositphotos 11843590 s

Postoji nekoliko dodataka koje sam izgradio za koje su potrebni PHP5 + i SimpleXML. SimpleXML je mnogo lakša i efikasnija metoda raščlanjivanja XML odgovora APIs. Problem je, međutim, u tome što bih svakodnevno ili tjedno dobivao nekoliko e-mailova sa pitanjem zašto korisnik ne može učitati program, što je rezultiralo pogreškama.

Očigledno, moja obavještenja na dodacima i na projektnim stranicama nisu bila dovoljna, pa sam učinio pravu stvar i dodao oba funkcionalnosti kako bih provjerio da li je proširenje SimpleXML učitano.

PHP funkcija za provjeru učitavanja ekstenzije SimpleXML:

funkcija jeSimpleXMLLoaded () {$ array = array (); $ array = get_loaded_extensions (); $ rezultat = netačno; foreach ($ niz kao $ i => $ value) {if (strtolower ($ value) == "simplexml") {$ result = true; }} vrati $ rezultat; }

Sada, unutar funkcija koje koriste SimpleXML, mogu jednostavno osigurati da se učita prije nego što stvarno pokušam SimpleXML poziv. Ako

if (! isSimpleXMLLoaded ()) {echo "Hostirajte svoju web lokaciju negdje drugdje!"; povratak; }

Znam da imam neke PHP gurue koji prate moj blog i obavještavaju me kako sam bio! Objavio sam manja ažuriranja oba dodatka kako bih koristio ovu metodu.

6 Komentari

  1. 1

    Zdravo Doug,

    Primijetio sam jednu grešku koja vjerojatno ne uzrokuje grešku.

    if ($ value = “SimpleXML”) {$ rezultat = tačno; }

    treba biti

    if ($ value == “SimpleXML”) {$ rezultat = tačno; }

    Iako iz sigurnosnih razloga. Više volim.

    if (strtolower ($ value) == “simplexml”) {$ rezultat = tačno; }

    Možete koristiti i 'extension_loaded' koji uzima naziv proširenja za provjeru (osjetljivo na velika i mala slova).

    $ loaded = extension_loaded (“SimpleXML”);

    Vraća TRUE ili FALSE.

    PS Ne pijte kafu sam, ali mogu staviti dugme "kupi mi kutiju krafni" 🙂

    • 2

      Digni to dugme za krafne, Nick! Ti si spasitelj uživo! Smiješno je to što sam (minus strtolower), u stvari imao pokrenut svoj uzorak koda i koristio pravu procjenu. Sigurno je bilo kasno, jer kad sam ga stavio, zeznuo sam ga!

      Izmijenio sam kôd i post na blogu. Pitanje: Ima li prednosti jednog nad drugim? Pretpostavljam da je extension_loaded puno čišći i brži način rješavanja ovoga!

      Hvala Nick!

  2. 4

    yum instalirajte php55-xml.x86_64 da biste instalirali simpleXML za php 5.5.11

    Pokretanje transakcije
    Instaliranje: php55-xml-5.5.11-1.el6.x86_64 1/1
    Provjera: php55-xml-5.5.11-1.el6.x86_64 1/1

    a zatim se instalirao
    /usr/lib64/php/modules/simplexml.so

  3. 5

Šta ti misliš?

Ova stranica koristi Akismet kako bi smanjila neželjenu poštu. Saznajte kako se podaci vašeg komentara obrađuju.