PHP: Je li SimpleXML opterećen?

Depositphotos 11843590 s

Postoji nekoliko dodataka koje sam izradio i koji zahtijevaju PHP5 + i SimpleXML. SimpleXML je mnogo lakša i učinkovitija metoda raščlanjivanja XML odgovora iz APIs. Problem je, međutim, u tome što bih dnevno ili u tjednu dobivao nekoliko e-poruka s pitanjem zašto korisnik ne može učitati program i rezultiralo je pogreškama.

Očito moje obavijesti na dodacima i na projektnim stranicama nisu bile dovoljne, pa sam učinio pravu stvar i dodao oba funkcionalnosti za provjeru učitavanja proširenja SimpleXML.

PHP funkcija za provjeru učitavanja proširenja SimpleXML:

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

Sada, unutar funkcija koje koriste SimpleXML, mogu jednostavno osigurati da je učitan prije nego što zapravo pokušam SimpleXML poziv. Ako

if (! isSimpleXMLLoaded ()) {echo "Hostirajte svoje mjesto negdje drugdje!"; povratak; }

Znam da imam neke PHP gurue koji prate moj blog, javi mi kako sam to učinio! Objavio sam manja ažuriranja oba dodatka kako bih koristio ovu metodu.

6 Komentari

  1. 1

    Bok Doug,

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

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

    bi trebao biti

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

    Iako zbog sigurnosti. Preferiram.

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

    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 pijem kavu sam, ali mogu staviti gumb 'kupi mi kutiju krafni' 🙂

    • 2

      Digni taj gumb za krafne, Nick! Ti si spasiteljica života! Smiješno je to što (minus strtolower), zapravo sam pokrenuo 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

Što vi mislite?

Ova web stranica koristi Akismet za smanjenje neželjene pošte. Saznajte kako se podaci vašeg komentara obrađuju.