Locked History Actions

Diff for "thrift/PHP_Client"

Differences between revisions 1 and 2
Deletions are marked like this. Additions are marked like this.
Line 16: Line 16:
*.thrift定義から生成されたphpファイルは、$GLOBALS['THRIFT_ROOT'}.'packages/MyPackage/'以下に置く必要がある。 *.thrift定義から生成されたphpファイルは、$GLOBALS['THRIFT_ROOT'].'packages/MyPackage/'以下に置く必要がある。

PHPクライアントの作成

ここでは、既に*.thriftの定義を行い、--gen phpでPHP用のコードが生成されているものとする。 その上で、PHPコードからこれをクライアントとして使用する方法を見ていく。

ドキュメント

http://thrift.apache.org/download/からダウンロードされたtar.gzを展開すると、lib/php中にREADMEドキュメントがある。 おおよその手順はここに記述されている。要点は以下

  • ThriftはPHP 5が必要。
  • lib/php/srcの内容をPHPアプリのコードベースにコピーする。
  • $GLOBALS['THRIFT_ROOT']がそのパスを示すように設定する。
    これを行わない場合には、自動的に設定されるが、dir(FILE)によって行うため、効率は若干悪くなる。

  • $GLOBALS['THRIFT_ROOT'].'Thrift.php'をinclude_onceする。
    これは他のThriftファイルをincludeする以前に行う必要がある。

*.thrift定義から生成されたphpファイルは、$GLOBALS['THRIFT_ROOT'].'packages/MyPackage/'以下に置く必要がある。 ここで、MyPackageは*.thriftファイルの名称になるようだ。

例えば、thriftのライブラリとsample.thriftから生成されたファイルは次のようなレイアウトになる。

トップ
 +-- Throft.php
 +-- autoload.php
 +-- extディレクトリ
 +-- protocolディレクトリ
 +-- serverディレクトリ
 +-- transportディレクトリ
 +-- packages (作成する)
      +-- sample (作成する)
           +-- 生成されたthriftファイル