PHP: wordt SimpleXML geladen?

Depositphotos 11843590 s

Er zijn een paar plug-ins die ik heb gebouwd die PHP5 + en SimpleXML. SimpleXML is een veel eenvoudigere en beter presterende methode om XML-reacties te parseren van APIs. Het probleem is echter dat ik een paar e-mails per dag of week zou krijgen met de vraag waarom de gebruiker het programma niet kon laden en dit resulteerde in fouten.

Blijkbaar waren mijn mededelingen over de plug-ins en op de projectpagina's niet genoeg, dus ik deed het juiste en voegde functionaliteit toe aan beide plug-ins om te controleren of de SimpleXML-extensie is geladen.

PHP-functie om te controleren of de SimpleXML-extensie is geladen:

functie isSimpleXMLLoaded () {$ array = array (); $ array = get_loaded_extensions (); $ resultaat = onwaar; foreach ($ array as $ i => $ value) {if (strtolower ($ value) == "simplexml") {$ result = true; }} retourneer $ resultaat; }

Nu kan ik binnen de functies die SimpleXML gebruiken, ervoor zorgen dat het is geladen voordat ik de SimpleXML-aanroep daadwerkelijk probeer. Als

if (! isSimpleXMLLoaded ()) {echo "Host uw site ergens anders!"; terugkeren; }

Ik weet dat ik een paar PHP-goeroes heb die mijn blog in de gaten houden, laat me weten hoe ik het heb gedaan! Ik heb kleine updates uitgebracht voor beide plug-ins om deze methode te gebruiken.

6 reacties

  1. 1

    Hallo Doug,

    Ik heb een fout opgemerkt die waarschijnlijk geen foutmelding geeft.

    if ($ value = "SimpleXML") {$ resultaat = waar; }

    moet

    if ($ value == "SimpleXML") {$ resultaat = waar; }

    Hoewel voor de veiligheid. Ik geef de voorkeur aan.

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

    U kunt ook 'extension_loaded' gebruiken, waarbij de extensienaam moet worden gecontroleerd (hoofdlettergevoelig).

    $ loaded = extension_loaded ("SimpleXML");

    Retourneert WAAR of ONWAAR.

    PS Zelf geen koffie drinken, maar ik mag wel een 'koop me een doos met donuts'-knop zetten 🙂

    • 2

      Haal die donutknop omhoog, Nick! Je bent een levensredder! Wat grappig is, is dat (minus de strtolower), ik mijn voorbeeldcode daadwerkelijk liet draaien en de juiste evaluatie gebruikte. Het moet laat zijn geweest, want tegen de tijd dat ik het erin stopte, had ik het verpest!

      Ik heb de code en de blogpost aangepast. Vraag: Enig voordeel van de een boven de ander? Ik denk dat de extension_loaded een veel schonere en snellere manier is om hiermee om te gaan!

      Bedankt Nick!

  2. 4

    yum installeer php55-xml.x86_64 om simpleXML voor php 5.5.11 te installeren

    Lopende transactie
    Installeren: php55-xml-5.5.11-1.el6.x86_64 1/1
    Verifiëren: php55-xml-5.5.11-1.el6.x86_64 1/1

    en dan is het geïnstalleerd
    /usr/lib64/php/modules/simplexml.so

  3. 5

Wat denk je?

Deze site gebruikt Akismet om spam te verminderen. Ontdek hoe uw reactiegegevens worden verwerkt.