PHP中使用Protobuf v3

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.