PHP: آیا SimpleXML بارگذاری شده است؟

Depositphotos 11843590 s

چند پلاگین ساخته ام که به PHP5 + و نیاز دارند SimpleXML. SimpleXML یک روش آسان تر و بهتر برای تجزیه و تحلیل پاسخ های XML از است APIs با این حال ، مسئله این است که من هر روز یا هفته با چند ایمیل مواجه می شوم و از من می پرسم که چرا کاربر نمی تواند برنامه را بارگیری کند و منجر به خطا می شود.

ظاهراً ، اخطارهای من در مورد افزونه ها و صفحات پروژه کافی نبودند ، بنابراین من کار صحیحی را انجام دادم و برای اطمینان از بارگیری پسوند SimpleXML ، به هر دو پلاگین عملکرد اضافه کردم.

عملکرد PHP برای بررسی پسوند SimpleXML بارگذاری شده است:

تابع isSimpleXMLLoaded () {$ array = array ()؛ $ array = get_loaded_extensions ()؛ $ result = false؛ foreach ($ array as $ i => $ value) {if (strtolower ($ value) == "simplexml") {$ result = true؛ }} بازگشت $ نتیجه؛ }

اکنون ، در داخل توابعی که از SimpleXML استفاده می کنند ، می توانم به راحتی اطمینان حاصل کنم که قبل از اینکه تماس SimpleXML را امتحان کنم بارگذاری شده است. اگر

if (! isSimpleXMLLoaded ()) {echo "سایت خود را در جای دیگری میزبانی کنید!"؛ برگشت؛ }

من می دانم که چند معلم PHP دارم که وبلاگ من را تحت نظر دارند ، به من اطلاع دهید که چگونه کار کردم! من برای استفاده از این روش به روزرسانی های جزئی هر دو پلاگین را منتشر کرده ام.

6 نظرات

  1. 1

    سلام داگ ،

    من متوجه یک اشکال شدم که احتمالاً خطایی ایجاد نمی کند.

    if ($ value = "SimpleXML") {$ result = true؛ }

    باید

    if ($ value == "SimpleXML") {$ result = true؛ }

    هر چند به خاطر ایمنی من ترجیح می دهم.

    if (strtolower ($ value) == "simplexml") {$ result = true؛ }

    همچنین می توانید از 'extension_loaded' استفاده کنید که نام پسوند را برای بررسی می گیرد (حساس به حروف کوچک).

    $ loaded = extension_loaded ("SimpleXML") ؛

    TRUE یا FALSE را برمی گرداند.

    PS خودم قهوه نخورم اما ممکن است دکمه 'یک جعبه دونات برای من بخر "قرار دهم

    • 2

      دکمه پیراشکی را بالا ببر ، نیک! شما نجات دهنده زندگی هستید! جالب این است که (منهای strtolower) ، من در واقع کد نمونه خود را اجرا کردم و از ارزیابی صحیح استفاده کردم. حتماً دیر شده است چون تا وقتی آن را گذاشتم ، آن را بهم ریختم!

      کد و پست وبلاگ را اصلاح کردم. سوال: مزیت یکی نسبت به دیگری وجود دارد؟ من حدس می زنم Extension_loaded یک روش تمیزتر و سریعتر برای مقابله با این مسئله است!

      ممنون نیک!

  2. 4

    برای نصب simpleXML برای php 55 ، php86-xml.x64_5.5.11 را نصب کنید

    در حال انجام معامله
    Installing : php55-xml-5.5.11-1.el6.x86_64 1/1
    Verifying : php55-xml-5.5.11-1.el6.x86_64 1/1

    و سپس نصب شد
    /usr/lib64/php/modules/simplexml.so

  3. 5

شما چه فکر میکنید؟

این سایت از Akismet برای کاهش هرزنامه استفاده می کند. بدانید که چگونه نظر شما پردازش می شود.