PHP: загружаецца SimpleXML?

Depositphotos 11843590 с

Ёсць некалькі убудоў, якія я стварыў, якія патрабуюць PHP5 + і SimpleXML. SimpleXML - гэта нашмат прасцейшы і эфектыўнейшы спосаб разбору адказаў XML APIс. Праблема заключаецца ў тым, што я атрымліваю некалькі лістоў у дзень ці тыдзень з пытаннем, чаму карыстальнік не можа загрузіць праграму, і гэта прыводзіць да памылак.

Мабыць, маіх заўваг на ўбудовах і на старонках праекта было недастаткова, таму я зрабіў правільна і дадаў функцыянальнасць абодвум убудовам для праверкі загрузкі пашырэння SimpleXML.

Функцыя PHP для праверкі загружанага пашырэння SimpleXML:

функцыя isSimpleXMLLoaded () {$ array = array (); $ масіў = get_loaded_extensions (); $ вынік = ілжывы; foreach ($ array as $ i => $ value) {if (strtolower ($ value) == "simplexml") {$ result = true; }} вярнуць $ вынік; }

Цяпер, унутры функцый, якія выкарыстоўваюць SimpleXML, я магу проста пераканацца, што ён загружаны, перш чым паспрабаваць выклік SimpleXML. Калі

if (! isSimpleXMLLoaded ()) {echo "Размясціць ваш сайт дзе-небудзь яшчэ!"; вяртанне; }

Я ведаю, што ў мяне ёсць некалькі гуру PHP, якія сочаць за маім блогам, дайце мне ведаць, як я гэта зрабіў! Я выпусціў нязначныя абнаўленні абодвух убудоў, каб выкарыстаць гэты метад.

6 Каментары

  1. 1

    Прывітанне Дуг,

    Я заўважыў адну памылку, якая, верагодна, не выклікае памылкі.

    калі ($ значэнне = "SimpleXML") {$ вынік = праўда; }

    павінна быць

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

    Хоць дзеля бяспекі. Я аддаю перавагу.

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

    Вы таксама можаце выкарыстоўваць 'extension_loaded', які прымае імя пашырэння для праверкі (з улікам рэгістра).

    $ загружана = пашырэнне_загружана ("SimpleXML");

    Вяртае TRUE альбо FALSE.

    PS Не піце каву сам, але я магу паставіць кнопку "купі мне скрынку пончыкаў" 🙂

    • 2

      Дастань гэтую кнопку з пампушкамі, Нік! Вы выратавальнік жыцця! Самае смешнае, што (за вылікам strtolower), у мяне сапраўды быў запушчаны ўзор кода і выкарыстана правільная ацэнка. Напэўна, было позна, бо да таго часу, калі я ўклаў яго, я сапсаваў яго!

      Я змяніў код і паведамленне ў блогу. Пытанне: ёсць перавага аднаго над другім? Мяркую, extension_loaded - нашмат больш чысты і хуткі спосаб барацьбы з гэтым!

      Дзякуй Ніку!

  2. 4

    ням усталюйце 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 для барацьбы са спамам. Даведайцеся, як дадзеныя апрацоўваюцца каментар.