2008年11月21日金曜日

(suz-php-jquery) 続・json_encodeが使えない場合対応

スズキです。

"json_encodeが使えない場合対応"をしたのですが、
http://suz-lab.blogspot.com/2008/11/suz-php-jquery-jsonencode.html
Stomp.php関係でもjson_encodeを使っているようで、
上記の対応では、まだ、json_encodeが使えない環境では、
Stomp.phpが使えません。

他にも、json_encodeを使っている可能性があるので、
もっと汎用的な対応をするように変更しました。

対応方法は、json_encode関数がなかったら、
Services_JSONを使ったjson_encode関数を定義する
といった感じです。

コードは下記のようになります。

--------【PHP】--------
public static function compatible() {
  if(!function_exists("json_encode")) {
    function json_encode($object) {
      require_once("Services/JSON.php");
      $json = new Services_JSON();
      return $json->encode($object);
    }
  }
}
--------
http://code.google.com/p/suz-lab/source/browse/trunk/suz-php-jquery/php/lib/Util.php

このcompatibleを実行スクリプトの先頭のほうで実行すれば、
とにかく、json_encodeが使えるようになります。

これで、"suz-php-jquery"にPHP5.2のしばりがなくなったぞ。

--
http://suz-lab.blogspot.com/

0 コメント: