Verwendung von Protobuffer in PHP

步履不停
Freigeben: 2023-02-23 08:14:02
Original
4434 Leute haben es durchsucht

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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

$ /usr/local/protobuf/bin/protoc  --version
libprotoc 2.5.0
Nach dem Login kopieren

php-protobuf wurde erfolgreich installiert

php --ri protobuf
Nach dem Login kopieren

lumen und google/protobuf Abhängigkeiten installieren

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

hinzufügen Klassenplan unter composer.json :

{
    "classmap": [
        "protobuf/"
    ]
}
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage