我对如何解决这个问题感到有些困惑。我的计划是使用PHP来执行最终的页面构建,这个PHP Web应用程序将联系我将为数据开发的多个服务。可以说其中一项服务是用Java完成的。我将定义一个由具体类实现的Java接口。这就是我感到困惑的地方 - Thrift如何将PHP Web应用程序与java服务联系起来,或者我完全混淆了?
由于
答案 0 :(得分:6)
Thrift基于使用 IDL (接口定义语言)。使用维基百科的定义:
接口描述语言(或 或者,接口定义 语言),或简称IDL,是一个 用于的规范语言 描述一个软件组件 接口。 IDL描述了一个接口 以语言中立的方式,启用 软件之间的通信 不共享的组件 语言 - 例如,之间 用C ++编写的组件 用Java编写的组件。
有关如何使用Thrift界面语言的示例in the Thrift tutorial。
通过使用 .thrift
文件,您可以定义所需的接口(在类型和服务方面)。例如,在.thrift文件中,您可以定义一个简单的函数,如:
i32 add(1:i32 num1, 2:i32 num2)
表示对两个整数求和的函数。
当您准备好.thrift
文件时,您可以使用Thrift生成器生成Java,PHP,Erlang,您需要的任何代码(服务器端或客户端)。
有关详细信息,请参阅the Thrift wiki。
答案 1 :(得分:1)
我很想知道Thrift和PHP / Java桥接http://php-java-bridge.sourceforge.net/pjb/之间的基准测试。我会提倡Thrift,但我怀疑它与php / java bridge一样快。