web-dev-qa-db-ja.com

PHP

PHPでprotobufを使用するために利用できるライブラリは何ですか?

17
oluies

Protocol_Buffer_for_PHP

最終更新日:2009年5月

PHP用のGoogle「ProtocolBuffer」の実装には、解析が含まれます...

問題リスト: http://code.google.com/p/pb4php/issues/list

Protobuf-PHP

最終更新日:2011年4月

Protobuf for PHPは、PHP言語用のGoogleのプロトコルバッファの実装であり、バイナリデータのシリアル化をサポートし、PHPクラス。

オートコンプリートでIDEを支援するために、あらゆる種類のタイプヒントを含むPHPファイルの生成に多大な努力が払われています。したがって、プロトコルバッファサービスとの通信だけでなく、生成としても使用できます。最終的なシリアル化が何であれ、データオブジェクト用のツール。

例:

$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日

これは、protoc用のPHP Google Protocol BufferGeneratorプラグインです。protoファイルからPHPコードを生成します。

14
oluies

https://github.com/drslump/Protobuf-PHP もあります

最終更新日は2013年12月です。

要件(Githubページから):

  • PHP 5.3
  • PearのConsole_CommandLine(protocラッパーツール用)
  • Googleのprotocコンパイラバージョン2.3以降
  • GMPまたはBCMath拡張機能¹

    ¹int32、int64、またはfixed64タイプの負の値にのみ必要です。既知の問題のセクションを参照してください。

8
j-a

パフォーマンスが懸念される場合は、 PHP Protobuf を試してみてください。

これは、Cで拡張機能として記述されたPHP Protocol Buffersの実装です。Cコードであるにもかかわらず、元のGoogleの実装を含む外部依存関係はありません。

PHP Protobufには、非常に完全なドキュメントが付属しています。

6