Rumah >pembangunan bahagian belakang >tutorial php >Pustaka bas mesej dalam PHP8.0
Dengan pembangunan aplikasi rangkaian yang berterusan, baris gilir mesej digunakan lebih dan lebih meluas Untuk aplikasi berkonkurensi tinggi dan berprestasi tinggi, menggunakan baris gilir mesej boleh meningkatkan kelajuan tindak balas dan kestabilan program dengan berkesan. Dalam PHP8.0, perpustakaan bas mesej baharu telah ditambah, yang meningkatkan kecekapan baris gilir mesej PHP Artikel ini akan memperkenalkan penggunaan perpustakaan ini secara terperinci.
1. Apakah yang dimaksudkan dengan bas mesej? Pengeluar menghantar mesej ke bas mesej dan pengguna menerima mesej daripada bas mesej. Sebagai perisian tengah, bas mesej memudahkan penghantaran mesej, mengurangkan gandingan sistem dan menjadikan pertukaran maklumat antara pelbagai modul lebih fleksibel.
2. Pustaka bas mesej dalam PHP8.0
PHP8.0 memperkenalkan perpustakaan bas mesej yang dipanggil "AMQP", yang menyokong pelbagai kaedah operasi baris gilir mesej, seperti menghantar dan menerima mesej, mencipta baris gilir dan penukar, dsb. Setelah perpustakaan ini dilancarkan, ia menjadi alat pilihan untuk pemprosesan baris gilir mesej berprestasi tinggi dalam ekosistem PHP.
3. Pasang pustaka sambungan AMQP
Memandangkan AMQP bukan perpustakaan standard PHP, anda perlu memasang pustaka sambungan yang sepadan sebelum menggunakan AMQP. Pustaka sambungan AMQP boleh dipasang melalui PECL Perintah pemasangan adalah seperti berikut:
pecl install amqp
Selepas pemasangan selesai, anda perlu menambah maklumat konfigurasi perpustakaan sambungan dalam fail php.ini:
extension=amqp
4. Penggunaan AMQP
Sambung ke bas mesej$connection = new AMQPConnection(array( 'host' => 'localhost', 'port' => '5672', 'login' => 'guest', 'password' => 'guest' ));Buat saluran
$channel = new AMQPChannel($connection);Isytihar baris gilir
$queue_name = "my_queue_demo"; $queue = new AMQPQueue($channel); $queue->setName($queue_name); $queue->declare(); // 声明队列Hantar mesej
$message = "Hello World!"; $queue->publish($message);Terima mesej
$message = $queue->get(); if ($message) { echo "Received Message: " . $message->getBody() . " "; $queue->ack($message->getDeliveryTag()); }Ikat baris gilir dan penukar
$exchange_name = "my_exchange_demo"; $exchange = new AMQPExchange($channel); $exchange->setName($exchange_name); $exchange->setType(AMQP_EX_TYPE_DIRECT); $exchange->declare(); // 声明交换器 // 绑定队列和交换器 $queue->bind($exchange_name, $queue_name);Terbitkan mesej dengan Kunci Laluan
$routing_key = "my_routing_key"; $exchange->publish("Hello World!", $routing_key);Menggunakan mesej dengan Kunci Penghalaan
$callback = function(AMQPEnvelope $envelope, AMQPQueue $queue) { echo "Received Message: " . $envelope->getBody() . " "; $queue->ack($envelope->getDeliveryTag()); }; $queue->consume($callback);Tutup sambungan
$connection->disconnect();
5 Ringkasan
Artikel ini memperkenalkan penggunaan asas AMQP, perpustakaan bas mesej dalam PHP8.0, termasuk menyambung ke bas mesej, mencipta saluran, mengisytiharkan baris gilir, menghantar dan menerima mesej, dan mengikat Tentukan baris gilir dan penukar, dan cara menggunakan kekunci penghalaan untuk menggunakan mesej dengan Kekunci Penghalaan, dsb. Melalui penggunaan perpustakaan ini, kami boleh menggunakan baris gilir mesej dengan lebih mudah untuk melaksanakan aplikasi web berkonkurensi tinggi dan berprestasi tinggi.
Atas ialah kandungan terperinci Pustaka bas mesej dalam PHP8.0. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!