PHP: Je načítaný SimpleXML?

Depositphotos 11843590 s

Existuje niekoľko doplnkov, ktoré som vytvoril a ktoré vyžadujú PHP5 + a SimpleXML. SimpleXML je oveľa ľahšia a výkonnejšia metóda syntaktickej analýzy odpovedí XML z APIs. Problém však je, že by som sa dostal na niekoľko e-mailov denne alebo týždenne so otázkou, prečo používateľ nemohol načítať program, čo viedlo k chybám.

Moje oznámenia na doplnkoch a na stránkach projektu zjavne neboli dostatočné, takže som urobil správnu vec a do oboch doplnkov pridal funkčnosť, aby som overil, či je načítaná prípona SimpleXML.

Funkcia PHP na kontrolu načítania rozšírenia SimpleXML:

funkcia jeSimpleXMLLoaded () {$ pole = pole (); $ array = get_loaded_extensions (); $ result = false; foreach ($ pole ako $ i => $ hodnota) {if (strtolower ($ hodnota) == "simplexml") {$ result = true; }} vrátiť $ výsledok; }

Teraz v rámci funkcií, ktoré používajú SimpleXML, sa môžem jednoducho ubezpečiť, že je načítaná predtým, ako skutočne vyskúšam volanie SimpleXML. Ak

if (! isSimpleXMLLoaded ()) {echo "Hostte svoju stránku niekde inde!"; návrat; }

Viem, že mám niekoľko PHP guru, ktorí dávajú pozor na môj blog, dajte mi vedieť, ako som urobil! Pre použitie tejto metódy som vydal menšie aktualizácie pre oba Pluginy.

6 Komentáre

  1. 1

    Ahoj Doug,

    Všimol som si jednu chybu, ktorá pravdepodobne nespôsobuje chybu.

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

    by mala byť

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

    Aj keď kvôli bezpečnosti. Ja radšej.

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

    Môžete tiež použiť 'extension_loaded', ktorý skontroluje názov prípony (rozlišujú sa malé a veľké písmená).

    $ loaded = extension_loaded (“SimpleXML”);

    Vráti hodnotu PRAVDA alebo NEPRAVDA.

    PS Nepijem kávu sám, ale môžem stlačiť tlačidlo „kúp mi krabicu šišiek“ 🙂

    • 2

      Dostaň to šiškové tlačidlo hore, Nick! Si záchranca života! Zábavné je, že (mínus strtolower) som vlastne nechal spustiť svoj ukážkový kód a použil správne hodnotenie. Muselo to byť neskoro, pretože keď som to vložil, pokazil som to!

      Upravil som kód a príspevok na blogu. Otázka: Máte nejaké výhody oproti iným? Myslím, že extension_loaded je oveľa čistejší a rýchlejší spôsob riešenia tohto problému!

      Vďaka Nick!

  2. 4

    nainštalujte php55-xml.x86_64 na inštaláciu simpleXML pre php 5.5.11

    Prebiehajúca transakcia
    Inštalácia: php55-xml-5.5.11-1.el6.x86_64 1/1
    Overuje sa: php55-xml-5.5.11-1.el6.x86_64 1/1

    a potom sa nainštaloval
    /usr/lib64/php/modules/simplexml.so

  3. 5

Čo si myslíte?

Táto stránka používa Akismet na zníženie spamu. Zistite, ako sa spracúvajú údaje vašich komentárov.