2012年1月22日

[PHP-users 35656] Re:"php-tokyo_tyrant"の実行結果によって処理を分岐したいのですが・・・

小山です。

2012/1/22 tt-record <tt-record@xxxxx>:
> PECLのphp-tokyo_tyrantについての質問なのですが、
> マニュアル
> http://www.php.net/manual/ja/class.tokyotyrant.php#tokyotyrant.constants.types
> に書かれているTokyoTyrant::TTE_SUCCESSなどはどのようにして使うのでしょうか?
>

> 実行結果によってエラー処理など、ifやswitchにて分岐させたいのですが、
> memcachedのMemcached::getResultCode()のように実行結果のコードを取得するような関数もありません 。

実際に TokyoTyrant クラスを使ったことはないのですが、マニュアルを見ると

「失敗した場合は TokyoTyrantException をスローします。」

と各メソッドの解説に書いてあるので、例外機能ベースでエラー処理を行います。
つまり処理正常時には何もすることはありません。

try {
$tt = new TokyoTyrant('localhost');
$tt->put('key', 'value');
} catch (TokyoTyrantException $e) {
if ($e->getCode() == TokyoTyrant::TTE_REFUSED) {
// connection refused の場合のみの処理
}
// なにかエラー処理
}

などのように、エラーが起きた時のみそれに合わせて処理を記述すれば良いです。

> また、tokyo_tyrantのソースコードを確認したいと思うのですが、どこで見ることが出来るのでしょうか?
> /usr/local/lib/php/extension/tokyo_tyrant.soはバイナリファイルで見られませんし、構造とか見て定数や関数などの使い方を確認してみたいと思うのですが。

pecl install コマンドでパッケージをインストールしたのだと思いますが、

pecl download tokyo_tyrant

でパッケージをダウンロードしてそれを展開すれば中にソースは入っていますし、github でも
ソースコードは公開されています。

https://github.com/mkoppanen/php-tokyo_tyrant

--
小山哲志
koyama@xxxxx
_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2012年1月22日 20:06
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/108269
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。