PHP: kas SimpleXML on laaditud?

Depositphotos 11843590 s

Minu loodud on paar pistikprogrammi, mis nõuavad PHP5 + ja SimpleXML. SimpleXML on palju lihtsam ja paremini toimiv meetod XML-vastuste sõelumiseks APIs. Probleem on aga selles, et ma saaksin päevas või nädalas mõne e-kirja, küsides, miks kasutaja ei saanud programmi laadida ja see tõi kaasa vigu.

Ilmselt ei piisanud minu teadetest pistikprogrammides ja projektilehtedel, nii et tegin õigesti ja lisasin mõlemale pistikprogrammile funktsionaalsuse, et kontrollida, kas laiendus SimpleXML on laaditud.

PHP funktsioon laienduse SimpleXML kontrollimiseks:

funktsioon isSimpleXMLLoaded () {$ array = array (); $ array = get_loaded_extensions (); $ tulemus = vale; foreach ($ massiiv kui $ i => $ väärtus) {if (strtolower ($ value) == "simplexml") {$ result = true; }} return $ tulemus; }

Nüüd saan SimpleXML-i kasutavate funktsioonide piires lihtsalt enne SimpleXML-i kõne proovimist veenduda, et see on laaditud. Kui

if (! isSimpleXMLLoaded ()) {echo "Hostige oma saiti kuskil mujal!"; tagasi; }

Ma tean, et mul on mõned PHP-gurud, kes hoiavad mu blogil silma peal, andke teada, kuidas mul läks! Selle meetodi kasutamiseks olen mõlema pistikprogrammi jaoks välja andnud väiksemad värskendused.

6 Kommentaarid

  1. 1

    Tere Doug,

    I did notice a one bug which probably doesn’t raise an error.

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

    peaks olema

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

    Although for safety sake. I prefer.

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

    You could also use ‘extension_loaded’ which takes the extension name to check (case sensitive).

    $loaded = extension_loaded(“SimpleXML”);

    Returns TRUE or FALSE.

    P.S. Don’t drink coffee myself but I may put a ‘buy me a box of donuts’ button 🙂

    • 2

      Get that donut button up, Nick! You’re a livesaver! What’s funny is that (minus the strtolower), I actually did have my sample code running and utilizing the right evaluation. It must have been late because by the time I put it in, I messed it up!

      I’ve modified the code and the blog post. Question: Any advantage of one over the other? I guess the extension_loaded is a much cleaner and quicker way of dealing with this!

      Thanks Nick!

  2. 4

    yum install php55-xml.x86_64 to install simpleXML for php 5.5.11

    Running Transaction
    Installing : php55-xml-5.5.11-1.el6.x86_64 1/1
    Verifying : php55-xml-5.5.11-1.el6.x86_64 1/1

    and then it installed
    /usr/lib64/php/modules/simplexml.so

  3. 5

Mis sa arvad?

Sellel saidil kasutatakse rämpsposti vähendamiseks Akismetit. Vaadake, kuidas teie andmeid töödeldakse.