PHP中使用Protobuf v3
2016-08-18
7月底,Google发布了Protobuf v3.0.0正式版。
Protobuf的安装分为两个部分:Protocol Compile 和 Protocol Runtime。
环境:Mac。
一、Protocol Compile
据官方建议,对于不使用C++的开发者,最简单的安装方式是下载已编译好的版本。
版本页:
https://github.com/google/protobuf/releases
文档页:
https://developers.google.com/protocol-buffers/docs/proto3
32位:protoc-3.0.0-osx-x86_32.zip
64位:protoc-3.0.0-osx-x86_64.zip
建立软链接并查看版本:
$ sudo ln -s ~/protoc-3/bin/protoc /usr/local/bin/protoc $ protoc --version libprotoc 3.0.0
二、Protocol Runtime
截止日前,官方仍未支持PHP,暂时只能借助第三方库之一:allegro php-protobuf。
GitHub:https://github.com/allegro/php-protobuf
条件:
1. PHP版本:5.3+
$ php -v PHP 5.5.30 (cli)
2. Pear’s Console_CommandLine (for the protoc plugin)
3. Google’s proto compiler: 2.6+
下载到本地后进入根目录先安装依赖的插件(条件2):
$ cd php-protobuf $ composer install
Composer 是 PHP 中用来管理依赖(dependency)关系的工具。
接下来即可正常使用php -protobuf:
php protoc-gen-php.php -o output_dir foo.proto
or
protoc --plugin=protoc-gen-php.php --php_out=output_dir foo.proto
PS:
XXX.proto 文件头必须要有 :
syntax="proto3"
未经许可,勿转载。
By Pury.