PHP: Vai SimpleXML ir ielādēts?

Depositphotos 11843590 s

Ir izveidoti pāris spraudņi, kuriem nepieciešama PHP5 + un Vienkārša. SimpleXML ir daudz vienkāršāka un efektīvāka XML atbildes parsēšanas metode no APIs. Tomēr problēma ir tā, ka es saņemtu dažus e-pasta ziņojumus dienā vai nedēļā, vaicājot, kāpēc lietotājs nevar ielādēt programmu, un tas radīja kļūdas.

Acīmredzot ar manu paziņojumu spraudņiem un projekta lapām nepietika, tāpēc es rīkojos pareizi un abiem spraudņiem pievienoju funkcionalitāti, lai pārbaudītu, vai paplašinājums SimpleXML ir ielādēts.

PHP funkcija, lai pārbaudītu, vai ir ielādēts paplašinājums SimpleXML:

funkcija isSimpleXMLLoaded () {$ masīvs = masīvs (); $ masīvs = get_loaded_extensions (); $ rezultāts = nepatiesa; foreach ($ masīvs kā $ i => $ vērtība) {if (strtolower ($ value) == "simplexml") {$ result = true; }} return $ rezultāts; }

Tagad funkcijās, kas izmanto SimpleXML, es varu vienkārši pārliecināties, ka tā ir ielādēta, pirms es faktiski izmēģinu SimpleXML zvanu. Ja

if (! isSimpleXMLLoaded ()) {echo "Vietnes mitināšana citur!"; atgriešanās; }

Es zinu, ka man ir daži PHP guru, kas seko manam emuāram, ļauj man zināt, kā man gāja! Esmu izlaidis nelielus abu spraudņu atjauninājumus, lai izmantotu šo metodi.

6 Komentāri

  1. 1

    Sveiks, Doug!

    Es pamanīju vienu kļūdu, kas, iespējams, nerada kļūdu.

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

    vajadzētu būt

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

    Kaut vai drošības labad. ES dodu priekšroku.

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

    Varat arī izmantot paplašinājumu_loaded, kas pārbauda paplašinājuma nosaukumu (reģistrjutīgi).

    $ ielādēts = paplašinājums_ ielādēts (“SimpleXML”);

    Atgriež vērtību TRUE vai FALSE.

    PS Nedzeriet kafiju pats, bet es, iespējams, ievietoju pogu “nopērc man kasti virtuļu” 🙂

    • 2

      Paceliet šo virtuļu pogu, Niks! Jūs esat glābējs! Kas ir smieklīgi, ir tas, ka (atskaitot strtolower), man patiešām bija koda parauga darbība un pareizā novērtējuma izmantošana. Laikam jau bija par vēlu, jo, līdz to ieliku, es to sajaucu!

      Es esmu pārveidojis kodu un emuāra ziņu. Jautājums: Vai jums ir kāda priekšrocība salīdzinājumā ar otru? Es domāju, ka extension_loaded ir daudz tīrāks un ātrāks veids, kā ar to tikt galā!

      Paldies Nikam!

  2. 4

    yum instalējiet php55-xml.x86_64, lai instalētu simpleXML php 5.5.11

    Running Transaction
    Instalēšana: php55-xml-5.5.11-1.el6.x86_64 1/1
    Pārbauda: php55-xml-5.5.11-1.el6.x86_64 1/1

    un pēc tam tas tika instalēts
    /usr/lib64/php/modules/simplexml.so

  3. 5

Ko jūs domājat?

Šī vietne izmanto Akismet, lai samazinātu surogātpastu. Uzziniet, kā tiek apstrādāts jūsu komentārs.