PHP: Er SimpleXML indlæst?

Depositphotos11843590 s

Der er et par plugins, som jeg har bygget, der kræver PHP5 + og SimpleXML. SimpleXML er en meget lettere og bedre udførelsesmetode til at analysere XML-svar fra APIs. Problemet er dog, at jeg ville få et par e-mails om dagen eller ugen og spørge mig, hvorfor brugeren ikke kunne indlæse programmet, og det resulterede i fejl.

Tilsyneladende var mine meddelelser om plugins og på projektsiderne ikke nok, så jeg gjorde det rigtige og tilføjede funktionalitet til begge plugins for at kontrollere, at SimpleXML-udvidelsen er indlæst.

PHP-funktion til kontrol af SimpleXML-udvidelsen er indlæst:

funktion isSimpleXMLLoaded () {$ array = array (); $ array = get_loaded_extensions (); $ resultat = falsk; foreach ($ array som $ i => $ værdi) {if (strtolower ($ værdi) == "simplexml") {$ result = true; }} returner $ resultat; }

Nu inden for de funktioner, der bruger SimpleXML, kan jeg ganske enkelt sikre, at den er indlæst, før jeg faktisk prøver SimpleXML-opkaldet. Hvis

if (! isSimpleXMLLoaded ()) {echo "Host dit websted et andet sted!"; Vend tilbage; }

Jeg ved, at jeg har nogle PHP-guruer, der holder øje med min blog, lad mig vide, hvordan jeg gjorde det! Jeg har frigivet mindre opdateringer til begge plugins for at bruge denne metode.

6 Kommentarer

  1. 1

    Hej Doug,

    Jeg bemærkede en fejl, som sandsynligvis ikke rejser en fejl.

    hvis ($ værdi = “SimpleXML”) {$ resultat = sand; }

    være

    hvis ($ værdi == “SimpleXML”) {$ resultat = sand; }

    Skønt for sikkerheds skyld. Jeg foretrækker.

    hvis (strtolower ($ værdi) == “simplexml”) {$ resultat = sand; }

    Du kan også bruge 'extension_loaded', som tager navnet på udvidelsen til at kontrollere (store og små bogstaver).

    $ loaded = extension_loaded (“SimpleXML”);

    Returnerer SAND eller FALSK.

    PS Drik ikke kaffe selv, men jeg sætter muligvis en 'køb mig en æske med donuts' -knap 🙂

    • 2

      Få den doughnut-knap op, Nick! Du er en livredder! Hvad der er sjovt er, at (minus strtolower) havde jeg faktisk min prøvekode kørende og brugte den rigtige evaluering. Det må have været sent, for da jeg lagde det i, ødelagde jeg det!

      Jeg har ændret koden og blogindlægget. Spørgsmål: Enhver fordel ved det ene over det andet? Jeg antager, at extension_loaded er en meget renere og hurtigere måde at håndtere dette på!

      Tak Nick!

  2. 4

    yum installer php55-xml.x86_64 for at installere simpleXML til php 5.5.11

    Løbende transaktion
    Installation: php55-xml-5.5.11-1.el6.x86_64 1/1
    Bekræftelse: php55-xml-5.5.11-1.el6.x86_64 1/1

    og derefter installeres det
    /usr/lib64/php/modules/simplexml.so

  3. 5

Hvad mener du?

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.