Marketing Content

PHP: SimpleXML è caricato?

Ci sono un paio di plugin che ho creato che richiedono PHP5 + e SimpleXML. SimpleXML è un metodo molto più semplice e con migliori prestazioni per analizzare le risposte XML da APIS. Il problema, tuttavia, è che ricevevo poche e-mail al giorno o alla settimana che mi chiedevano perché l'utente non poteva caricare il programma e questo causava errori.

Apparentemente, i miei avvisi sui plugin e sulle pagine del progetto non erano sufficienti, quindi ho fatto la cosa giusta e ho aggiunto funzionalità a entrambi i plugin per verificare che l'estensione SimpleXML sia caricata.

Funzione PHP per verificare che l'estensione SimpleXML sia caricata:

funzione isSimpleXMLLoaded () {$ array = array (); $ array = get_loaded_extensions (); $ risultato = falso; foreach ($ array come $ i => $ valore) {if (strtolower ($ valore) == "simplexml") {$ risultato = true; }} restituisce $ risultato; }

Ora, all'interno delle funzioni che utilizzano SimpleXML, posso semplicemente assicurarmi che sia caricato prima di provare effettivamente la chiamata SimpleXML. Se

if (! isSimpleXMLLoaded ()) {echo "Ospita il tuo sito da qualche altra parte!"; ritorno; }

So di avere alcuni guru di PHP che tengono d'occhio il mio blog, fammi sapere come ho fatto! Ho rilasciato aggiornamenti minori a entrambi i plugin per utilizzare questo metodo.

Douglas Karr

Douglas Karr è il fondatore del Martech Zone e un riconosciuto esperto di trasformazione digitale. Douglas ha aiutato ad avviare diverse start-up MarTech di successo, ha assistito nella due diligence di oltre $ 5 miliardi in acquisizioni e investimenti MarTech e continua a lanciare le proprie piattaforme e servizi. È un co-fondatore di Highbridge, una società di consulenza per la trasformazione digitale. Douglas è anche un autore pubblicato di una guida per manichini e di un libro sulla leadership aziendale.

Articoli Correlati

Commenti

  1. Ciao Doug,

    Ho notato un bug che probabilmente non genera un errore.

    if ($valore = “SempliceXML”) { $risultato = vero; }

    dovrebbe essere

    if ($valore == “SempliceXML”) { $risultato = vero; }

    Anche se per motivi di sicurezza. Preferisco.

    if (strtolower($valore) == “simplexml”) { $risultato = vero; }

    Puoi anche usare 'extension_loaded' che prende il nome dell'estensione da controllare (maiuscole/minuscole).

    $caricato = estensione_caricata("SempliceXML");

    Restituisce VERO o FALSO.

    PS Non bevo il caffè da solo, ma potrei mettere un pulsante "comprami una scatola di ciambelle" 🙂

    1. Alza quel bottone della ciambella, Nick! Sei un salvavita! La cosa divertente è che (meno lo strtolower), in realtà avevo il mio codice di esempio in esecuzione e utilizzando la giusta valutazione. Deve essere stato tardi perché quando l'ho inserito, l'ho incasinato!

      Ho modificato il codice e il post del blog. Domanda: Qualche vantaggio dell'uno rispetto all'altro? Immagino che extension_loaded sia un modo molto più pulito e veloce per affrontarlo!

      Grazie Nick!

  2. yum installa php55-xml.x86_64 per installare simpleXML per php 5.5.11

    Transazione in corso
    Installing : php55-xml-5.5.11-1.el6.x86_64 1/1
    Verifying : php55-xml-5.5.11-1.el6.x86_64 1/1

    e poi installato
    /usr/lib64/php/modules/simplexml.so

Cosa ne pensi?

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati dei tuoi commenti.