PHP: Je načten SimpleXML?

Depositphotos 11843590 s

Existuje několik pluginů, které jsem vytvořil, které vyžadují PHP5 + a SimpleXML. SimpleXML je mnohem jednodušší a výkonnější metoda analýzy odpovědí XML z APIs. Problém však je, že bych se dostal na několik e-mailů denně nebo týdně a ptal se mě, proč uživatel nemohl načíst program, což vedlo k chybám.

Moje oznámení na zásuvných modulech a na stránkách projektu zjevně nestačila, takže jsem udělal správnou věc a přidal funkčnost k oběma zásuvným modulům, abych ověřil, že je načteno rozšíření SimpleXML.

Je načtena funkce PHP pro kontrolu rozšíření SimpleXML:

funkce isSimpleXMLLoaded () {$ array = array (); $ array = get_loaded_extensions (); $ result = false; foreach ($ pole jako $ i => $ hodnota) {if (strtolower ($ hodnota) == "simplexml") {$ result = true; }} vrátit $ výsledek; }

Nyní, v rámci funkcí, které používají SimpleXML, se mohu jednoduše ujistit, že je načteno, než skutečně vyzkouším volání SimpleXML. Li

if (! isSimpleXMLLoaded ()) {echo "Hostujte své stránky někde jinde!"; vrátit se; }

Vím, že mám několik PHP guru, kteří dávají pozor na můj blog, dejte mi vědět, jak jsem to udělal! K využití této metody jsem vydal drobné aktualizace pro oba Pluginy.

6 Komentáře

  1. 1

    Hi Doug,

    Všiml jsem si jedné chyby, která pravděpodobně nevyvolává chybu.

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

    by měla být

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

    I když z bezpečnostních důvodů. Preferuji.

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

    Můžete také použít 'extension_loaded', který zkontroluje název rozšíření (rozlišuje velká a malá písmena).

    $ loaded = extension_loaded („SimpleXML“);

    Vrátí PRAVDA nebo NEPRAVDA.

    PS Nepij sám kávu, ale můžu stisknout tlačítko „kup mi krabičku koblih“ 🙂

    • 2

      Zapněte to koblihové tlačítko, Nicku! Jste zachránce života! Zábavné je, že (minus strtolower) jsem vlastně měl spuštěný ukázkový kód a používal správné hodnocení. Muselo to být pozdě, protože v době, kdy jsem to vložil, jsem to pokazil!

      Upravil jsem kód a příspěvek na blogu. Otázka: Nějaká výhoda jednoho nad druhým? Myslím, že extension_loaded je mnohem čistší a rychlejší způsob řešení tohoto!

      Díky Nicku!

  2. 4

    yum install php55-xml.x86_64 pro instalaci simpleXML pro php 5.5.11

    Spuštěná transakce
    Instalace: php55-xml-5.5.11-1.el6.x86_64 1/1
    Ověření: php55-xml-5.5.11-1.el6.x86_64 1/1

    a poté se nainstaloval
    /usr/lib64/php/modules/simplexml.so

  3. 5

Co si myslíte?

Tyto stránky používají Akismet k omezení spamu. Zjistěte, jak jsou vaše údaje komentářů zpracovávány.