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

    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 برای کاهش هرزنامه استفاده می کند. بدانید که چگونه نظر شما پردازش می شود.