Rumah > Artikel > pembangunan bahagian belakang > Sambungan GRPC baharu diperkenalkan dalam PHP8.1
Pelanjutan GRPC baharu yang diperkenalkan dalam PHP8.1
PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas yang boleh menjana kandungan web secara dinamik dengan berinteraksi dengan pelayan web. Untuk memenuhi keperluan seni bina perkhidmatan moden dengan lebih baik, versi PHP8.1 memperkenalkan sambungan GRPC baharu, yang meningkatkan lagi prestasi dan kebolehskalaan PHP. Artikel ini akan memperkenalkan konsep asas sambungan GRPC dan memberikan beberapa contoh kod untuk membantu pembaca memahami dan menggunakan ciri baharu ini dengan lebih baik.
1. Pengenalan kepada GRPC
GRPC ialah rangka kerja RPC (panggilan prosedur jauh) berprestasi tinggi dan tujuan umum. RPC ialah protokol komunikasi komputer yang membenarkan atur cara memanggil terus fungsi atau kaedah pada komputer lain tanpa mengetahui butiran rangkaian asas. GRPC adalah berdasarkan pelaksanaan protokol HTTP/2 sumber terbuka Google dan menggunakan protokol penghantaran binari dengan ciri-ciri berikut:
2. Pasang sambungan GRPC
Sebelum mula menggunakan GRPC, kita perlu memasang sambungan GRPC terlebih dahulu. Dalam PHP8.1, sokongan untuk sambungan GRPC disediakan secara lalai Kami boleh memasangnya melalui langkah berikut:
Pasang sambungan GRPC: Gunakan arahan PECL untuk memasang sambungan GRPC. modul, seperti yang ditunjukkan di bawah:
pecl install grpc
Dayakan sambungan GRPC dalam fail php.ini: Tambahkan konfigurasi berikut dalam fail php.ini:
extension=grpc
3. Gunakan sambungan GRPC
Selepas pemasangan selesai , kita boleh menggunakan sambungan GRPC untuk membuat panggilan prosedur jauh. Di bawah ini kami memberikan contoh mudah untuk menggambarkan cara menggunakan sambungan GRPC.
Tentukan antara muka
Pertama, kita perlu mentakrifkan fail antara muka (.proto file) untuk menerangkan struktur data dan kaedah antara muka. Contohnya, kami mentakrifkan antara muka Greeter, termasuk kaedah SayHello:
syntax = "proto3"; service Greeter { rpc SayHello (HelloRequest) returns (HelloResponse) {} } message HelloRequest { string name = 1; } message HelloResponse { string message = 1; }
Jana kod
Seterusnya, kami menggunakan alat penjanaan kod yang disediakan oleh GRPC untuk menjana kod klien dan pelayan yang sepadan berdasarkan fail .proto. Mula-mula, kita perlu memasang alat Protocol Buffers, dan kemudian laksanakan arahan berikut untuk menjana kod:
protoc --php_out=./out --grpc_out=./out --plugin=protoc-gen-grpc=/usr/local/bin/grpc_php_plugin greeter.proto
Selepas melaksanakan arahan di atas, direktori keluar akan dijana yang mengandungi fail kod PHP yang dijana.
Melaksanakan bahagian pelayan
Seterusnya, kita boleh melaksanakan kod sisi pelayan. Dalam kod, kita perlu melaksanakan kaedah yang ditakrifkan oleh antara muka. Contohnya:
class GreeterImpl extends GreeterGreeterService { public function SayHello(GreeterHelloRequest $request): GreeterHelloResponse { $response = new GreeterHelloResponse(); $response->setMessage("Hello, " . $request->getName()); return $response; } }
Mulakan pelayan
Kita boleh memulakan pelayan GRPC dan mendengar port yang ditentukan melalui kod berikut:
$server = new SwooleServer('0.0.0.0', 50051, SWOOLE_PROCESS, SWOOLE_SOCK_TCP | SWOOLE_SSL); $server->set([ 'ssl_cert_file' => 'server.crt', 'ssl_key_file' => 'server.key', ]); $server->on("start", function (SwooleServer $server) { echo "GRPC server is started at 0.0.0.0:50051 "; }); $server->on("receive", function (SwooleServer $server, $fd, $fromId, $data) { $server->send($fd, $data); }); $server->start();
Panggilan pelanggan
Akhir sekali, kita boleh menulis kod pelanggan untuk memanggil pelayan jauh melalui kaedah rangkaian. Contohnya:
$client = new GreeterGreeterClient('127.0.0.1:50051'); $request = new GreeterHelloRequest(); $request->setName("PHP"); $response = $client->SayHello($request); echo $response->getMessage();
Melalui contoh kod di atas, kita boleh belajar cara menggunakan sambungan GRPC untuk membuat panggilan prosedur jauh dalam PHP8.1. Sambungan GRPC menyediakan kaedah komunikasi jauh yang lebih cekap dan boleh dipercayai, membantu membina sistem teragih moden. Dalam projek sebenar, kami boleh menggunakan sambungan GRPC secara fleksibel untuk membina seni bina perkhidmatan mikro merentas bahasa berdasarkan keperluan perniagaan.
Ringkasan
Pelanjutan GRPC ialah ciri penting yang diperkenalkan dalam versi PHP8.1, yang membolehkan PHP mempunyai keupayaan RPC yang lebih cekap dan berskala. Melalui contoh kod, kami memahami konsep asas dan penggunaan sambungan GRPC Kami berharap pembaca dapat mempelajari dan menggunakan ciri baharu ini dan meningkatkan keupayaan pembangunan PHP mereka.
Atas ialah kandungan terperinci Sambungan GRPC baharu diperkenalkan dalam PHP8.1. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!