Heim >Backend-Entwicklung >PHP-Problem >Verwendung von Protobuffer in PHP

Verwendung von Protobuffer in PHP

步履不停
步履不停Original
2019-06-19 09:48:034460Durchsuche

Verwendung von Protobuffer in PHP

Protobuf-Einführung

Protobuf (Protokollpuffer) ist ein plattformübergreifendes, sprachübergreifendes, skalierbares Datenübertragungs- und Speicherprotokoll, das von Google entwickelt wurde Komprimierung Eine der Kodierungsmethoden.

Protokollpuffer sind flexibel und effizient bei der Serialisierung von Daten. Im Vergleich zu XML sind Protokollpuffer kleiner, schneller und einfacher. Sobald die Datenstruktur der zu verarbeitenden Daten definiert ist, kann das Codegenerierungstool der Protokollpuffer verwendet werden, um den entsprechenden Code zu generieren. Datenstrukturen können sogar aktualisiert werden, ohne das Programm erneut bereitzustellen. Verwenden Sie Protobuf, um Ihre Datenstruktur einmal zu beschreiben, und Ihre strukturierten Daten können problemlos in einer Vielzahl verschiedener Sprachen oder aus einer Vielzahl unterschiedlicher Datenströme gelesen und geschrieben werden.

Protokollpuffer eignen sich sehr gut für Datenspeicher- oder RPC-Datenaustauschformate. Ein sprachunabhängiges, plattformunabhängiges und erweiterbares serialisiertes strukturiertes Datenformat, das in Kommunikationsprotokollen, Datenspeicherung und anderen Bereichen verwendet werden kann.

Darüber hinaus wird Protobuf aufgrund seiner effizienten Datenaustauscheffizienz im Intranet häufig in Microservices eingesetzt. Das darauf basierende Open-Source-Framework grpc von Google.

php-protobuf-Installation

Da Protobuf PHP nicht nativ unterstützt, müssen Sie die entsprechende Erweiterung installieren, wenn PHP pb verwendet.

pecl install protobuf

Der protoc-Compiler ist in der Umgebung erforderlich. Herunterladen und installieren:

$ wget https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz
$ tar zxvf protobuf-2.5.0.tar.gz
$ cd protobuf-2.5.0
$ ./configure --prefix=/usr/local/protobuf
$ sudo make 
$ sudo  make install

Überprüfen Sie, ob die Installation erfolgreich war:

$ /usr/local/protobuf/bin/protoc  --version
libprotoc 2.5.0

php-protobuf wurde erfolgreich installiert

php --ri protobuf

lumen und google/protobuf Abhängigkeiten installieren

lumen new rpc
lumen new rpc Der Befehl entspricht dem Befehl composer create-project laravel/lumen rpc
composer require google/protobuf

hinzufügen Klassenplan unter composer.json :

{
    "classmap": [
        "protobuf/"
    ]
}

ok, die Vorbereitungen sind alle abgeschlossen.

Erstellen Sie selbst eine Demo

Erstellen Sie einen Protobuf-Ordner im Codeverzeichnismkdir protobuf

Geben Sie das Verzeichnis ein und erstellen Sie eine DateisearchRequest.proto

syntax = "proto3";
message SearchRequest {
    string query = 1;
    int32 page_number = 2;
    int32 result_per_page = 3;
    enum Corpus {
        UNIVERSAL = 0;
        WEB = 1;
        IMAGES = 2;
        LOCAL = 3;
        NEWS = 4;
        PRODUCTS = 5;
        VIDEO = 6;
    }
    Corpus corpus = 4;
}

Das obige ist der detaillierte Inhalt vonVerwendung von Protobuffer in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn