


Satu artikel menerangkan secara terperinci pelaksanaan pelayan grpc melalui php+roadrunner
Artikel ini membawakan anda pengetahuan yang berkaitan tentang PHP terutamanya cara melaksanakan pelayan grpc melalui php+roadrunner boleh lihat di bawah.
Laksanakan pelayan grpc melalui php+roadrunner
Alamat gudang:
https://github.com/zhonghaibin/php-grpc-serve
Muat turun kod sumber:
git clone https://github.com/zhonghaibin/php-grpc-serve
Versi php yang saya gunakan: php 8.2
Input baris arahan pemasangan
composer install
Dapatkan input baris arahan fail boleh laku rr.exe
./vendor/bin/rr get-binary
Mulakan perkhidmatan./rr.exe serve
Pelanggan
Saya menggunakan ApiPost di sini untuk menyokong ujian grpc
打开apipost客户端,新建grpc,选择导入proto 选择项目目录的 grpc/protos/base/hello-world.proto 文件
dokumentasi rujukan grpc:
roadrunner.dev/docs/plugins-grpc/2...
langkah binaan protokol
1 Cipta fail hello-world.proto Protobuf mengikut keperluan anda sendiri
2 Hasilkan fail kelas php melalui hello-world.proto
这里需要下载两个可执行文件把 hello-world.proto 生成 php文件, 因为我用的是win10: 所以下载的是 protoc.exe 和 protoc-gen-php-grpc.exe 这两个文件我放在项目里 protoc-22.3-win64 文件夹里面,如果你和我环境一样直接用我下载好的即可,其他平台请自行下载 下载地址:https://github.com/roadrunner-server/roadrunner/releases 生成php文件命令如下:./protoc.exe --plugin=protoc-gen-php-grpc.exe --php_out=./ --php-grpc_out=./ hello-world.proto 这里会在当前目录下生成两个文件夹:GPBMetadata 和 Services 把生成好的文件夹复制到 项目目录的 grpc/generated 目录下
root ├─app │ ├─console │ ├─services │ │ ├─Task //异步任务│ │ └─HelloService.php //写自己的业务│ └─support ├─config ├─grpc │ ├─generated //使用protoc自动构建的类均存在这│ │ ├─Services //服务统一命名空间│ │ └─GPBMetadata //GRPC生成的元数据├ └─protos //所有proto存在这里
Pembelajaran yang disyorkan: "Tutorial video PHP》
Atas ialah kandungan terperinci Satu artikel menerangkan secara terperinci pelaksanaan pelayan grpc melalui php+roadrunner. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

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)

Corak Singleton memastikan bahawa kelas hanya mempunyai satu contoh dan menyediakan titik akses global untuk senario di mana objek tunggal menyelaraskan operasi sistem, seperti sambungan pangkalan data atau pengurusan konfigurasi. 2. Struktur asasnya termasuk: contoh penyimpanan atribut statik peribadi, pembina swasta menghalang penciptaan luaran, kaedah pengklonan peribadi menghalang penyalinan, dan kaedah statik awam (seperti getInstance ()) untuk mendapatkan contoh. 3. Dapatkan contoh yang unik dalam PHP dengan memanggil kaedah GetInstance (), dan mengembalikan rujukan objek yang sama tidak kira berapa kali ia dipanggil. 4. Di bawah model permintaan PHP standard, keselamatan benang tidak perlu dipertimbangkan, tetapi isu-isu penyegerakan perlu diberi perhatian dalam persekitaran jangka panjang atau multi-threaded, dan PHP sendiri tidak menyokong mekanisme kunci asli. 5. Walaupun singleton berguna,

Jawapan: Pengendali gabungan kosong PHP (??) digunakan untuk memeriksa sama ada kekunci pembolehubah atau array wujud dan tidak batal. Jika benar, ia mengembalikan nilainya, jika tidak, ia mengembalikan nilai lalai. Ia mengelakkan penggunaan pemeriksaan isset panjang (), sesuai untuk mengendalikan pembolehubah yang tidak ditentukan dan kekunci array, seperti $ pengguna pengguna = $ userInput?

Gunakan $ _get untuk mendapatkan parameter URL, seperti? Name = John & Age = 25; Semak kewujudan melalui isset atau pengendali gabungan kosong, dan penapis dan sahkan data dengan Filter_Input untuk memastikan keselamatan.

Pautan langsung untuk versi web Manwa2 ialah http://www.manwaw.cn/. Platform ini menyediakan sejumlah besar sumber komik definisi tinggi, menyokong carian dalam talian, cache luar talian dan penyegerakan multi-terminal, dan mempunyai senarai buku yang diperibadikan dan fungsi tetapan membaca untuk memastikan pengalaman komik yang lancar dan selesa pengguna.

Todisableaphpfunction, usedisable_functionsinphp.iniforbuilt-infunctionsLikeExecorsystem, yang manablocksthemgloballyforsecurity;

Jawapan: Gunakan file_get_contents dan curl untuk memuat turun fail URL, bekasnya mudah tetapi terhad, manakala yang terakhir lebih fleksibel dan menyokong streaming. Contohnya termasuk membaca dan menulis fail secara langsung, pilihan penetapan permulaan curl dan penjimatan, menambah pengendalian ralat dan pemeriksaan status HTTP. Fail besar disyorkan untuk mengalir muat turun di blok untuk menjimatkan ingatan, memastikan direktori itu boleh ditulis dan mengendalikan pengecualian dengan betul.

Gunakan kata kunci untuk melaksanakan antara muka, dan kelas mesti menyediakan pelaksanaan khusus semua kaedah dalam antara muka. 2. Tentukan antara muka untuk mengisytiharkan kaedah menggunakan kata kunci antara muka. 3. Kelas melaksanakan antara muka dan mengatasi kaedah. 4. Buat objek dan panggil kaedah untuk mengeluarkan hasilnya. 5. Kelas boleh melaksanakan pelbagai antara muka untuk memastikan spesifikasi dan pemeliharaan kod.

Gunakan & simbol untuk melaksanakan lulus rujukan sebelum parameter fungsi, supaya fungsi secara langsung mengubah suai pembolehubah asal. Sebagai contoh, selepas mendefinisikan FunctionIncrement (& $ nilai) {$ value;}, kenaikan panggilan ($ nombor) akan mengubah nilai $ nombor; Lulus rujukan tidak perlu digunakan dalam panggilan, tetapi hanya perlu digunakan dalam perisytiharan fungsi; Anda juga boleh mengembalikan rujukan melalui & fungsi & getGlobalRef (), supaya $ ref = & getGlobalRef () menunjuk kepada pemboleh ubah statik dan mengubah suai nilainya.
