PHP: ¿SimpleXML está cargado?

Depositphotos 11843590 s

Hay un par de complementos que he creado que requieren PHP5 + y SimpleXML. SimpleXML es un método mucho más fácil y de mejor rendimiento para analizar respuestas XML de APIs. Sin embargo, el problema es que recibía algunos correos electrónicos al día o a la semana preguntándome por qué el usuario no podía cargar el programa y generaba errores.

Aparentemente, mis avisos en los complementos y en las páginas del proyecto no fueron suficientes, así que hice lo correcto y agregué funcionalidad a ambos complementos para verificar que la extensión SimpleXML esté cargada.

Función PHP para comprobar que la extensión SimpleXML está cargada:

función isSimpleXMLLoaded () {$ matriz = matriz (); $ matriz = get_loaded_extensions (); $ resultado = falso; foreach ($ matriz como $ i => $ valor) {if (strtolower ($ valor) == "simplexml") {$ resultado = verdadero; }} return $ resultado; }

Ahora, dentro de las funciones que usan SimpleXML, puedo simplemente asegurarme de que esté cargado antes de probar la llamada a SimpleXML. Si

if (! isSimpleXMLLoaded ()) {echo "¡Aloje su sitio en otro lugar!"; regreso; }

Sé que tengo algunos gurús de PHP que vigilan mi blog, ¡háganme saber cómo lo hice! Lancé actualizaciones menores para ambos complementos para utilizar este método.

6 Comentarios

  1. 1

    Hola Doug,

    Noté un error que probablemente no genera un error.

    if ($ valor = "SimpleXML") {$ resultado = verdadero; }

    debiera ser

    if ($ valor == “SimpleXML”) {$ resultado = verdadero; }

    Aunque por seguridad. Yo prefiero.

    if (strtolower ($ valor) == “simplexml”) {$ resultado = verdadero; }

    También puede usar 'extension_loaded', que toma el nombre de la extensión para verificar (distingue entre mayúsculas y minúsculas).

    $ cargado = extensión_cargado ("SimpleXML");

    Devuelve VERDADERO o FALSO.

    PD: No bebo café yo mismo, pero puedo poner un botón de 'Cómprame una caja de donas' 🙂

    • 2

      ¡Sube ese botón de rosquilla, Nick! ¡Eres un salvavidas! Lo gracioso es que (menos el strtolower), en realidad tenía mi código de muestra ejecutándose y utilizando la evaluación correcta. Debe haber sido tarde porque cuando lo puse, ¡lo arruiné!

      Modifiqué el código y la publicación del blog. Pregunta: ¿Alguna ventaja de uno sobre el otro? ¡Supongo que la extensión_cargada es una forma mucho más limpia y rápida de lidiar con esto!

      ¡Gracias Nick!

  2. 4

    yum instale php55-xml.x86_64 para instalar simpleXML para php 5.5.11

    Ejecutando Transacción
    Installing : php55-xml-5.5.11-1.el6.x86_64 1/1
    Verifying : php55-xml-5.5.11-1.el6.x86_64 1/1

    y luego se instaló
    /usr/lib64/php/modules/simplexml.so

  3. 5

¿Qué piensas?

Este sitio usa Akismet para reducir el correo no deseado. Descubra cómo se procesan los datos de sus comentarios.