PHP协议缓冲区

olu*_*ies 17 php protocol-buffers

在PHP中使用protobuf有哪些可用的库?

olu*_*ies 14

Protocol_Buffer_for_PHP

最后更新于2009年5月

为PHP实现Google"协议缓冲区",包括解析...

问题列表:http://code.google.com/p/pb4php/issues/list

protobuf的,PHP

最后更新于2011年4月

Protobuf for PHP是针对PHP语言的Google协议缓冲区的实现,支持其二进制数据序列化,并包括一个protoc插件,用于从.proto文件生成PHP类.

我们付出了巨大的努力来生成包含所有类型提示的PHP文件,以便通过自动完成来帮助IDE.因此,它不仅可以用于与协议缓冲区服务进行通信,还可以用作数据对象的生成工具,无论最终的序列化是什么.

例:

$person = new Tutorial\Person();
$person->name = 'DrSlump';
$person->setId(12);

$book = new Tutorial\AddressBook();
$book->addPerson($person);

// Use default codec
$data = $book->serialize();

// Use custom codec
$codec = new \DrSlump\Protobuf\Codec\Binary();
$data = $codec->encode($book);
// ... or ...
$data = $book->serialize($codec);
Run Code Online (Sandbox Code Playgroud)

protoc-GEN-PHP

最后更新时间为2010年12月5日

这是一个用于protoc的PHP Google协议缓冲区生成器插件.它从.proto文件生成PHP代码.


j-a*_*j-a 8

还有https://github.com/drslump/Protobuf-PHP

最后更新于2013年12月.

要求(来自Github页面):

  • PHP 5.3
  • Pear的Console_CommandLine(用于protoc包装工具)
  • 谷歌的protoc编译器2.3或更高版本
  • GMP或BC数学扩展¹

    ¹只需要int32,int64或fixed64类型中的负值.请参阅已知问题部分.


小智 6

如果您关注性能,可以尝试使用PHP Protobuf.

它是作为C语言中的扩展编写的PHP协议缓冲区实现.尽管它是C代码没有外部依赖性,包括原始Google的实现.

PHP Protobuf提供了相当完整的文档.