1
我有一个使用apache thrift和*.thrift
文件创建的服务,该文件可用于生成客户端库。Thrift客户端库的Composer版本控制
服务和*.thrift
文件有它自己的版本(例如2.3.0
)。
现在我想预先生成PHP的客户端,使其可以加载作曲家,但节俭本身有自己的版本生成不同的文件(例如0.9.1
)。
我的想法是预先生成具有不同节俭版本和标签,像以下服务:
<CLIENT-MAJOR>.<CLIENT-MINOR>.<CLIENT-PATCH>.<THRIFT-MAJOR>.<THRIFT-MINOR>.<THRIFT-PATCH>
但作曲家不喜欢这个版本:
[UnexpectedValueException]
Could not parse version constraint 2.3.0.0.9.1: Invalid version string "2.3.0.0.9.1"
我能做?思考?
生成的代码在所有情况下都不兼容!例如,在0.8和0.9之间的PHP名称空间被添加,这是一个很大的API更改。顺便说一句。生成的代码需要PHP thrift库在相同的版本!请参阅https://github.com/apache/thrift/tree/0.8.0/lib/php&https://github.com/apache/thrift/tree/0.9.1/lib/php – 2014-09-27 18:32:04
该服务的外部行为是向后兼容,不一定是PHP相关的东西。而且,这又是重中之重。没有人会处理你的代码,但暴露的服务。 – JensG 2014-09-27 21:09:14
我喜欢标记生成的PHP客户端库。该服务本身有它的版本,并没有问题。如果你喜欢在PHP中使用这个服务,你需要生成的客户端库,如果你使用不同的版本生成客户端库,它会有很大的区别 - PHP客户端API是不同的,依赖关系是不同的,顺便说一句。彼此不兼容(你不能同时使用0.9和0.8的PHP thrift库)。你的意思是服务/ thirft客户本身,但没有额外的工作/知识,这是不可用。 – 2014-09-28 20:08:59