Thrift 0.9 PHP服务器缺少处理器

时间:2013-08-25 15:44:16

标签: php thrift

我正在编写一个通过Thrift进行通信的应用程序。我正在使用Thrift 0.9.0(在OSX上通过自制软件安装)。我有一个工作的Java服务器和客户端,但我正在努力编写PHP服务器,因为没有生成* Processor类。

Thrift的PHP文档是essentially absent,但我期望生成* Processor类,因为:

但是,当我从tutorial.thrift文件(thrift -r --gen php:namespace tutorial.thrift)生成PHP代码时,生成的Calculator.php不包含CalculatorProcessor类。

我错过了什么吗?

2 个答案:

答案 0 :(得分:3)

写这个问题的过程促使我找到答案!

我正在生成php:namespace,但这是使用Thrift 0.8.0的结果。实际上,0.8中不存在“命名空间”(大概是因为命名空间总是添加到0.9中生成的PHP)。 thrift --help的输出列出php:server,它“生成PHP服务器存根”。这显然意味着生成了PHP * Processor类。

答案 1 :(得分:1)

我有一个非常类似的应用程序(Java Server with PHP Client)。

我有以下thrift定义文件:

namespace java com.blogspot.symfonyworld.wealthylaughingduck.thrift.generated
namespace php SymfonyWorld.WealthyLaughingDuck

# definitions below

我运行以下命令来重新生成thrift类:

thrift -r --gen java -out src/main/java src/submodules/commons/thrift/service.thrift
thrift -r --gen php:oop,namespace,autoload -out src/main/php/packages src/submodules/commons/thrift/service.thrift

它就像一个魅力:)看看我的github application - 它开箱即用(您可以在界面中单击时观看Java log4j输出)。