PHP 的协议缓冲区 [已关闭]

2022-08-30 21:07:06

在PHP中使用protobuf的可用库是什么?


答案 1

Protocol_Buffer_for_PHP

最后更新于 2009 年 5 月

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

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

Protobuf-PHP

最后更新于 2011 年 4 月

Protobuf for PHP是Google的PHP语言协议缓冲区的实现,支持其二进制数据序列化,并包括一个原型插件,用于从.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);

protoc-gen-php

最后更新日期:2010 年 12 月 5 日

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


答案 2

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

上次更新时间:2013 年 12 月。

要求(来自 Github 页面):

  • 5.3 菲律宾比索
  • 梨的Console_CommandLine(用于原型包装工具)
  • 谷歌的原型编译器版本2.3或更高版本
  • GMP 或 BC 数学扩展 ¹

    ¹ 仅 int32、int64 或 fixed64 类型中的负值需要。请参阅已知问题部分。


推荐