PHP: Дали SimpleXML е вчитан?

Depositphotos 11843590 с

Има направено неколку додатоци што ги изградив, за кои е потребен PHP5 + и SimpleXML. SimpleXML е многу полесен и подобар метод за анализирање на XML одговори од APIс Проблемот е, сепак, што би добил неколку е-пораки на ден или недела, прашувајќи ме зошто корисникот не може да ја вчита програмата и тоа резултираше со грешки.

Очигледно, моите известувања за приклучоците и за страниците на проектот не беа доволни, затоа ја направив вистинската работа и додадов функционалност на двата приклучока за да потврдам дека е вчитана наставката SimpleXML.

Функцијата PHP за проверка на наставката SimpleXML е вчитана:

функцијата еSimpleXMLLoaded () {$ низа = низа (); низа $ = get_loaded_extensions (); $ резултат = лажен; foreach (низа $ како $ i => $ вредност) {if (strtolower ($ value) == "simplexml") {$ result = true; }} врати $ резултат; }

Сега, во рамките на функциите што користат SimpleXML, можам едноставно да се осигурам дека е вчитан пред да го испробам повикот SimpleXML. Ако

if (! isSimpleXMLLoaded ()) {echo "Домаќини ја својата страница на друго место!"; враќање; }

Знам дека имам неколку гуру-PHP што внимаваат на мојот блог, дозволете ми да знам како сум направил! Објавив мали ажурирања на двата приклучоци за да го искористам овој метод.

6 Коментари

  1. 1

    Здраво Даг,

    Забележав една грешка која веројатно не предизвикува грешка.

    if ($value = „SimpleXML“) { $result = точно; }

    треба да биде

    if ($value == „SimpleXML“) { $result = точно; }

    Иако заради безбедноста. Јас преферирам.

    if (strtolower($value) == „simplexml“) { $result = точно; }

    Може да користите и „extension_loaded“ што го зема името на наставката за проверка (чувствително на букви).

    $loaded = extension_loaded („SimpleXML“);

    Враќа TRUE или FALSE.

    П.С. Не пиј кафе сам, но може да ставам копче „купи ми кутија крофни“ 🙂

    • 2

      Земи го копчето за крофна, Ник! Ти си спасител на живот! Она што е смешно е тоа што (минус strtolower), јас всушност го активирав мојот примерок код и ја користев вистинската евалуација. Сигурно беше доцна затоа што додека го ставив, го збркав!

      Го изменив кодот и објавата на блогот. Прашање: Дали има некоја предност на едното над другото? Претпоставувам дека extension_loaded е многу почист и побрз начин за справување со ова!

      Благодарам Ник!

  2. 4

    yum инсталирај php55-xml.x86_64 за да инсталираш simpleXML за php 5.5.11

    Водење трансакција
    Инсталирање: php55-xml-5.5.11-1.el6.x86_64 1/1
    Се потврдува: php55-xml-5.5.11-1.el6.x86_64 1/1

    а потоа се инсталираше
    /usr/lib64/php/modules/simplexml.so

  3. 5

Што мислите?

Оваа страница користи Akismet за намалување на спам. Научете како се обработува вашиот коментар.