2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

phpのThriftクライアントひな形生成の際のオプション

Posted at

オプション

  • :inlined
  • :server
  • :autoload
  • :oop
  • :rest

このなかでも自分が使った「inlined」と「oop」についてメモ。
使用したバージョンはApache Thrift v0.9.3。

:inlined

Thriftライブラリに依存しないファイルを生成してくれる。
このオプションを使うと、gen-phpiフォルダが作られてそのなかに生成されたファイルが入れられる。(このオプションのない場合は、gen-phpフォルダが作られる。)

このオプションを使って生成すると、クライアントの呼び出し方が変わるので注意が必要。

inliendオプションなし
$socket = new TSocket();
$transport = new TBufferedTransport($socket, 1024, 1024);
$protocol = TBinaryProtocol($transport);
$client = new TestClient($protocol);
inliendオプションあり
$socket = new TSocket();
$client = new TestClient($socket);

inlinedオプションありで生成したコードを使って、オプションなしのときの呼び方をすると、
「Call to undefined method TBinaryProtocol」のエラーが出て「write()」メソッドがないと怒られる。

:oop

TBaseを継承するオブジェクトの形式でファイルが生成される。オプションを使わない場合に比べてコードが短くなる。
動作における差があるのかどうかは調べきれてません。パフォーマンスとか違うのかな?

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?