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