လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP နှင့် RabbitMQ ကိုအသုံးပြုပြီးမက်ဆေ့ခ်ျထုတ်ဝေခြင်းနှင့် subscription mode ကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း

PHP နှင့် RabbitMQ ကိုအသုံးပြုပြီးမက်ဆေ့ခ်ျထုတ်ဝေခြင်းနှင့် subscription mode ကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း

M66 2025-06-07

PHP နှင့် RabbitMQ ကိုအသုံးပြုပြီးမက်ဆေ့ခ်ျထုတ်ဝေခြင်းနှင့် subscription mode ကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း

RabbitMQ သည်စွမ်းဆောင်ရည်မြင့်မားပြီးယုံကြည်စိတ်ချရသောမက်ဆေ့ခ်ျကိုတန်းစီစနစ်ဖြစ်သည်။ PHP နှင့်အတူပေါင်းစပ်လူကြိုက်များ server-side scripting language, မက်ဆေ့ခ်ျထုတ်ဝေခြင်းနှင့် subscription ၏လုပ်ဆောင်ချက်များကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ ဤဆောင်းပါးသည် PHP နှင့် RabbitMQ ၏ပေါင်းစည်းမှုကိုပြီးစီးရန်သင့်အားစာတိုပေးပို့ရေးယန္တရားကိုလျင်မြန်စွာတည်ဆောက်ရန်ကူညီရန်ရှင်းလင်းသောနမူနာကုဒ်များဖြင့်သင့်အားကူညီရန်သင့်အားယူပါလိမ့်မည်။

RabbitMQ ကို Install လုပ်ပါ

ပထမ ဦး စွာဆာဗာတွင် RabbitMQ ကိုထည့်သွင်းရန်လိုအပ်သည်။ တရားဝင်စာရွက်စာတမ်းများအရ installation package ကို for download လုပ်. RabbitMQ ၏တရားဝင်ဝက်ဘ်ဆိုက်ကိုသင်သွားနိုင်ပြီး installation နှင့် basic configuration ကိုအပြီးသတ်နိုင်သည်။

PHP အတွက် amqp extension ကို install လုပ်ပါ

PHP တွင် RabbitMQ operating amm အမျိုးအစား extension ကိုအသုံးပြုခြင်းလိုအပ်သည်။ extension ကို install လုပ်နိုင်သည်။

 <span class="fun">sudo apt-get install php-amqp ထည့်သွင်းပါ</span>

Rabbitmq ဆက်သွယ်မှုသတင်းအချက်အလက်ကို configure

RabbitMQ ဆာဗာကိုဆက်သွယ်သောအခါသက်ဆိုင်ရာဆက်သွယ်ရေးသတ်မှတ်ချက်များကို configure လုပ်ရန်လိုအပ်သည်။ အောက်ပါဥပမာသည် default local connection configuration ကိုအသုံးပြုသည်။

 $connection = new AMQPConnection([
    'host' => 'localhost',
    'port' => '5672',
    'vhost' => '/',
    'login' => 'guest',
    'password' => 'guest'
]);

ကြေငြာချက်နှင့်တန်းစီကြေညာပါ

RabbitMQ တွင်မက်ဆေ့ခ်ျများကိုသတ်မှတ်ထားသောတန်းစီသို့လဲလှယ်နိုင်သည်။ ငွေလဲလှယ်မှုသည်မက်ဆေ့ခ်ျဖြန့်ဝေခြင်းအတွက်တာ 0 န်ရှိသည်။

အောက်ပါဥပမာသည် test_exchange နှင့် test_queue ဟုခေါ်သောဖလှယ်မှုကိုကြေငြာသည်။

 $channel = $connection->channel();
<p>$channel->exchange_declare('test_exchange', 'fanout', false, false, false);</p>
<p>list($queue_name, ,) = $channel->queue_declare('test_queue', false, false, true, false);</p>
<p>$channel->queue_bind($queue_name, 'test_exchange');

ထုတ်ဝေသောစာများကိုထုတ်ဝေပါ

ယခုအခါမက်ဆေ့ခ်ျများထုတ်ဝေရန်နှင့်သတ်မှတ်ထားသောတန်းစီမှတစ်ဆင့်စာရင်းသွင်းခြင်းနှင့်သုံးစွဲခြင်းနှင့်သုံးစွဲခြင်း။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -

 $message = 'Hello, RabbitMQ!';
<p>$channel->basic_publish(<br>
new AMQPMessage($message),<br>
'test_exchange',<br>
''<br>
);</p>
<p>echo " [x] Sent '$message'\n";</p>
<p>$channel->basic_consume(<br>
$queue_name,<br>
'',<br>
false,<br>
true,<br>
false,<br>
false,<br>
function($msg) {<br>
echo ' [x] Received ', $msg->body, "\n";<br>
}<br>
);</p>
<p>while (count($channel->callbacks)) {<br>
$channel->wait();<br>
}

နမူနာကုဒ်ကို run ပါ

အထက်ပါကုဒ်ကို php file တစ်ခုအနေဖြင့် PHP ဖိုင်တစ်ခုအနေဖြင့်သိမ်းဆည်းပါ။ Enterinal မှတဆင့်ဖွင့်ပါ။

 <span class="fun">php ဥပမာဥပမာ .php</span>

မက်ဆေ့ခ်ျထုတ်ဝေခြင်းနှင့်ကြေးပေးသွင်းခြင်း၏ရလဒ်ကိုသင်တွေ့နိုင်သည်။

အကျဉ်းချုပ်

ဤဆောင်းပါးသည် PHP နှင့် RabbitMQ ကိုမည်သို့ပေါင်းစပ်ညှိနှိုင်းရမည်ကိုမိတ်ဆက်ပေးသည်။ RabbitMQ ၏စွမ်းဆောင်ရည်မြင့်မားသော Messice System System ၏အကူအညီဖြင့် PHP application များသည်ရှုပ်ထွေးသောဖြန့်ဝေသောစနစ်များအတွက်ခိုင်မာသောအုတ်မြစ်ချရန်ပြောင်းလွယ်ပြင်လွယ်။ ယုံကြည်စိတ်ချရသောစာတိုပေးပို့ရေးကိုရရှိနိုင်သည်။