Utiliser protobuffer en php

步履不停
Libérer: 2023-02-23 08:14:02
original
4422 Les gens l'ont consulté

Utiliser protobuffer en php

Protobuf Introduction

protobuf (Protocol buffers) est un protocole de transmission et de stockage de données multiplateforme, multilingue et évolutif produit par Google. compression Une des méthodes de codage.

Les tampons de protocole sont flexibles et efficaces pour sérialiser les données. Comparés à XML, les tampons de protocole sont plus petits, plus rapides et plus simples. Une fois la structure des données à traiter définie, l'outil de génération de code des tampons de protocole peut être utilisé pour générer le code pertinent. Les structures de données peuvent même être mises à jour sans redéployer le programme. Utilisez Protobuf pour décrire votre structure de données une fois, et vos données structurées peuvent être facilement lues et écrites dans une variété de langages différents ou à partir d'une variété de flux de données différents.

Les tampons de protocole sont très adaptés au stockage de données ou aux formats d'échange de données RPC. Un format de données structurées sérialisées extensible, indépendant du langage, de la plate-forme et pouvant être utilisé dans les protocoles de communication, le stockage de données et d'autres domaines.

De plus, Protobuf est largement utilisé dans les microservices en raison de son efficacité d'échange de données sur l'intranet. Le framework open source grpc de Google est construit sur cette base.

Installation de php-protobuf

Étant donné que protobuf ne supporte pas nativement php, si php utilise pb, vous devez installer l'extension correspondante.

pecl install protobuf
Copier après la connexion

Le protoc compilateur est requis dans l'environnement. Téléchargez et installez :

$ 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
Copier après la connexion

Vérifiez que l'installation est réussie :

$ /usr/local/protobuf/bin/protoc  --version
libprotoc 2.5.0
Copier après la connexion

php-protobuf est installé avec succès

php --ri protobuf
Copier après la connexion

Installer lumen et google/protobuf la commande

lumen new rpc
Copier après la connexion
lumen new rpc est équivalente à composer create-project laravel/lumen rpc
composer require google/protobuf
Copier après la connexion

add plan de classe sous composer.json :

{
    "classmap": [
        "protobuf/"
    ]
}
Copier après la connexion

ok, les préparatifs sont tous terminés.

Faites une démo vous-même

Créez un dossier protobuf dans le répertoire de codemkdir protobuf

Entrez dans le répertoire et créez un fichiersearchRequest.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;
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal