PHP: Apakah SimpleXML Dimuat?

Depositphotos 11843590 dtk

Ada beberapa plugin yang saya buat yang membutuhkan PHP5+ dan SimpleXML. SimpleXML adalah metode penguraian respons XML yang jauh lebih mudah dan lebih baik APIs. Masalahnya, bagaimanapun, adalah bahwa saya akan mendapatkan beberapa email dalam sehari atau seminggu yang menanyakan mengapa pengguna tidak dapat memuat program dan itu mengakibatkan kesalahan.

Rupanya, pemberitahuan saya di plugin dan di halaman proyek tidak cukup, jadi saya melakukan hal yang benar dan menambahkan fungsionalitas ke kedua plugin untuk memverifikasi ekstensi SimpleXML dimuat.

Fungsi PHP untuk memeriksa ekstensi SimpleXML dimuat:

function isSimpleXMLLoaded () {$ array = array (); $ array = get_loaded_extensions (); $ result = false; foreach ($ array sebagai $ i => $ value) {if (strtolower ($ value) == "simplexml") {$ result = true; }} mengembalikan $ result; }

Sekarang, dalam fungsi yang menggunakan SimpleXML, saya bisa memastikannya dimuat sebelum saya benar-benar mencoba panggilan SimpleXML. Jika

if (! isSimpleXMLLoaded ()) {echo "Host situs Anda di tempat lain!"; kembali; }

Saya tahu saya memiliki beberapa ahli PHP yang mengawasi blog saya, beri tahu saya bagaimana saya melakukannya! Saya telah merilis pembaruan kecil untuk kedua Plugin untuk menggunakan metode ini.

6 Komentar

  1. 1

    Hai Doug,

    Saya melihat satu bug yang mungkin tidak menimbulkan kesalahan.

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

    seharusnya

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

    Meski demi keamanan. Aku lebih memilih.

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

    Anda juga bisa menggunakan 'extension_loaded' yang mengambil nama ekstensi untuk diperiksa (case sensitive).

    $ dimuat = extension_loaded ("SimpleXML");

    Menampilkan TRUE atau FALSE.

    PS Jangan minum kopi sendiri, tetapi saya mungkin akan memasang tombol 'belikan saya sekotak donat' 🙂

    • 2

      Angkat kancing donat itu, Nick! Anda seorang penyelamat! Yang lucu adalah (tanpa strtolower), saya benar-benar menjalankan kode sampel saya dan menggunakan evaluasi yang tepat. Pasti sudah terlambat karena pada saat saya memasukkannya, saya mengacaukannya!

      Saya telah mengubah kode dan postingan blog. Pertanyaan: Adakah keuntungan yang satu dari yang lain? Saya kira extension_loaded adalah cara yang jauh lebih bersih dan lebih cepat untuk menangani ini!

      Terima kasih Nick!

  2. 4

    yum instal php55-xml.x86_64 untuk menginstal simpleXML untuk php 5.5.11

    Menjalankan Transaksi
    Menginstal: php55-xml-5.5.11-1.el6.x86_64 1/1
    Memverifikasi: php55-xml-5.5.11-1.el6.x86_64 1/1

    dan kemudian dipasang
    /usr/lib64/php/modules/simplexml.so

  3. 5

Bagaimana menurut Anda?

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.