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:
- Pensirilan dan penyahsiran yang cekap: GRPC menggunakan Penampan Protokol sebagai mekanisme penyirian lalai Berbanding dengan JSON dan XML, dsb. Teks format lebih cekap.
- Penstriman Boleh Dipercayai: GRPC menyokong penstriman dwiarah, mampu melakukan berbilang permintaan dan respons bebas secara serentak pada satu sambungan rangkaian.
- Sokongan berbilang bahasa: GRPC menyokong berbilang bahasa pengaturcaraan, termasuk C++, Java, Go, Python, dll.
- Alat automasi: GRPC menyediakan pelbagai alatan penjanaan kod yang boleh menjana kod sisi klien dan pelayan untuk bahasa pengaturcaraan yang berbeza.
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 versi PHP8.1
-
Pasang sambungan GRPC: Gunakan arahan PECL untuk memasang sambungan GRPC. modul, seperti yang ditunjukkan di bawah:
pecl install grpc
Salin selepas log masuk Dayakan sambungan GRPC dalam fail php.ini: Tambahkan konfigurasi berikut dalam fail php.ini:
extension=grpc
Salin selepas log masuk
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; }
Salin selepas log masukJana 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
Salin selepas log masukSelepas 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; } }
Salin selepas log masukMulakan 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();
Salin selepas log masukPanggilan 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();
Salin selepas log masuk
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Alipay Php ...

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Artikel membincangkan ciri -ciri keselamatan penting dalam rangka kerja untuk melindungi daripada kelemahan, termasuk pengesahan input, pengesahan, dan kemas kini tetap.

Artikel ini membincangkan menambah fungsi khusus kepada kerangka kerja, memberi tumpuan kepada pemahaman seni bina, mengenal pasti titik lanjutan, dan amalan terbaik untuk integrasi dan debugging.

Menghantar data JSON menggunakan perpustakaan Curl PHP dalam pembangunan PHP, sering kali perlu berinteraksi dengan API luaran. Salah satu cara biasa ialah menggunakan perpustakaan curl untuk menghantar post ...

Penerapan prinsip pepejal dalam pembangunan PHP termasuk: 1. Prinsip Tanggungjawab Tunggal (SRP): Setiap kelas bertanggungjawab untuk hanya satu fungsi. 2. Prinsip Terbuka dan Tutup (OCP): Perubahan dicapai melalui lanjutan dan bukannya pengubahsuaian. 3. Prinsip Penggantian Lisch (LSP): Subkelas boleh menggantikan kelas asas tanpa menjejaskan ketepatan program. 4. Prinsip Pengasingan Antara Muka (ISP): Gunakan antara muka halus untuk mengelakkan kebergantungan dan kaedah yang tidak digunakan. 5. Prinsip Inversi Ketergantungan (DIP): Modul peringkat tinggi dan rendah bergantung kepada abstraksi dan dilaksanakan melalui suntikan ketergantungan.

Sesi rampasan boleh dicapai melalui langkah -langkah berikut: 1. Dapatkan ID Sesi, 2. Gunakan ID Sesi, 3. Simpan sesi aktif. Kaedah untuk mengelakkan rampasan sesi dalam PHP termasuk: 1. Gunakan fungsi Sesi_Regenerate_ID () untuk menjana semula ID Sesi, 2. Data sesi stor melalui pangkalan data, 3.
