PHP:SimpleXMLはロードされていますか?

11843590秒

PHP5 +とを必要とする私が構築したプラグインがいくつかあります SimpleXMLを。 SimpleXMLは、からのXML応答を解析するためのはるかに簡単でパフォーマンスの高い方法です。 APIs。 ただし、問題は、ユーザーがプログラムを読み込めず、エラーが発生した理由を尋ねる電子メールがXNUMX日またはXNUMX週間に数回届くということです。

どうやら、プラグインとプロジェクトページでの通知が十分ではなかったので、SimpleXML拡張機能がロードされていることを確認するために、正しいことを行い、両方のプラグインに機能を追加しました。

SimpleXML拡張機能をチェックするPHP関数がロードされます。

関数isSimpleXMLLoaded(){$ array = array(); $ array = get_loaded_extensions(); $ result = false; foreach($ array as $ i => $ value){if(strtolower($ value)== "simplexml"){$ result = true; }} return $ result; }

これで、SimpleXMLを使用する関数内で、SimpleXML呼び出しを実際に試す前に、SimpleXMLがロードされていることを簡単に確認できます。 場合

if(!isSimpleXMLLoaded()){echo "サイトを別の場所でホストしてください!"; 戻る; }

私は自分のブログを監視しているPHPの達人がいることを知っています、私がどのようにしたか教えてください! この方法を利用するために、両方のプラグインのマイナーアップデートをリリースしました。

6のコメント

  1. 1

    こんにちはダグ、

    おそらくエラーを発生させないバグがXNUMXつあることに気づきました。

    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 install php55-xml.x86_64 を使用して、php 5.5.11 の simpleXML をインストールします。

    実行中のトランザクション
    インストール: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を使用して迷惑メールを減らします。 コメントの処理方法を学ぶ.