PHP: es carrega SimpleXML?

Depositphotos 11843590 s

Hi ha un parell de connectors que he construït que requereixen PHP5 + i SimpleXML. SimpleXML és un mètode d’anàlisi de respostes XML molt més senzill i amb un millor rendiment Programess. El problema, però, és que rebria uns quants correus electrònics al dia o a la setmana preguntant-me per què l’usuari no podia carregar el programa i donava lloc a errors.

Pel que sembla, els meus avisos als connectors i a les pàgines del projecte no eren suficients, així que vaig fer el correcte i vaig afegir funcionalitat als dos connectors per verificar que l’extensió SimpleXML estigui carregada.

Funció PHP per comprovar que l'extensió SimpleXML està carregada:

funció isSimpleXMLLoaded () {$ array = array (); $ array = get_loaded_extensions (); $ resultat = fals; foreach ($ array com a $ i => $ valor) {if (strtolower ($ value) == "simplexml") {$ result = true; }} retorna $ resultat; }

Ara, dins de les funcions que utilitzen SimpleXML, només puc assegurar-me que es carregui abans de provar la trucada SimpleXML. Si

if (! isSimpleXMLLoaded ()) {echo "Allotgeu el vostre lloc en un altre lloc!"; tornar; }

Sé que tinc alguns gurus de PHP que mantenen un ull al meu bloc, feu-me saber com ho vaig fer. He publicat actualitzacions menors als dos connectors per utilitzar aquest mètode.

6 Comentaris

  1. 1

    Hola Doug,

    Vaig notar un error que probablement no genera cap error.

    if ($valor = “SimpleXML”) { $resultat = cert; }

    ha de ser

    if ($valor == “SimpleXML”) { $resultat = cert; }

    Encara que per seguretat. Prefereixo.

    if (strtolower($valor) == “simplexml”) { $resultat = cert; }

    També podeu utilitzar "extension_loaded" que pren el nom de l'extensió per comprovar (distingeix entre majúscules i minúscules).

    $carregat = extension_loaded ("SimpleXML");

    Retorna TRUE o FALSE.

    PD No prengui cafè jo mateix, però potser posaré el botó "compra'm una caixa de bunyols" 🙂

    • 2

      Aixeca el botó del donut, Nick! Ets un salvavides! El que és curiós és que (menys el strtolower), en realitat tenia el meu codi de mostra en execució i utilitzant l'avaluació adequada. Devia ser tard perquè quan el vaig posar ja ho vaig fer malbé!

      He modificat el codi i la publicació del blog. Pregunta: Algun avantatge d'un sobre l'altre? Suposo que extension_loaded és una manera molt més neta i ràpida de fer-ho!

      Gràcies Nick!

  2. 4

    yum instal·leu php55-xml.x86_64 per instal·lar simpleXML per a PHP 5.5.11

    Transacció en execució
    Instal·lació: php55-xml-5.5.11-1.el6.x86_64 1/1
    Verificació: php55-xml-5.5.11-1.el6.x86_64 1/1

    i després es va instal·lar
    /usr/lib64/php/modules/simplexml.so

  3. 5

Què et sembla?

Aquest lloc utilitza Akismet per reduir el correu no desitjat. Esbrineu com es processa el vostre comentari.