မျက်မှောက်ခေတ်အင်တာနက်အပလီကေးရှင်းများတွင်ပြတ်ပြတ်သားသားဆက်သွယ်ရေးနှင့်သတင်းစကားတန်းစီများသည်ထိရောက်သောစနစ်များကိုနားလည်သဘောပေါက်ရန်အရေးကြီးသောနည်းလမ်းများဖြစ်သည်။ ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသောဆာဗာဘက်ဘာသာစကားတစ်ခုအနေဖြင့် PHP သည်ဤလုပ်ဆောင်မှုများကိုထောက်ခံရန်ကြွယ်ဝသောစာကြည့်တိုက်များနှင့် extensions များကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည် PHP နှင့် SOAP ကို အသုံးပြု. allynchronous ဆက်သွယ်ရေးကိုအကောင်အထည်ဖော်ရန်နှင့် RabbitMQ မှတစ်ဆင့်မည်သို့အကောင်အထည်ဖော်ရမည်နှင့်အပြည့်အဝကုဒ်များကိုအကောင်အထည်ဖော်ရန်နှင့်ကုဒ်များကိုပုံဖော်ပြေစာစောင်များကိုအကောင်အထည်ဖော်ရန်အတိမ်အနက်ကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်။
ဆပ်ပြာ (ရိုးရှင်းသောအရာဝတ်ထု access protocol) သည်ဖြန့်ဝေထားသောစနစ်များတွင်လျှောက်လွှာများအကြားဆက်သွယ်ပြောဆိုရန်အသုံးပြုသော XML အခြေပြုစာတိုပေးပို့ရေးပရိုတိုကောတစ် ဦး ဖြစ်သည်။ ၎င်းသည် HTTP, SMTP နှင့်အခြား protocols များမှတဆင့်ဂီယာကိုထောက်ပံ့ပေးပြီး asynchronous ဆက်သွယ်ရေးနှင့်မက်ဆေ့ခ်ျပေါ်ပေါက်ရေးလုပ်ဆောင်မှုများကိုနားလည်သဘောပေါက်ရန်ဝက်ဘ် 0 န်ဆောင်မှုများတွင်အသုံးပြုသည်။
ဆပ်ပြာဖြန့်ဝေခြင်းများကိုအရင်ထည့်သွင်းခြင်းနှင့် configure လုပ်ခြင်းကိုပထမ ဦး စွာထည့်သွင်းပါ။ Configuration ကိုဖြည့်စွက်ရန် Php.ini ဖိုင်တွင်ဆပ်ပြာတိုးချဲ့ခြင်းကို Enable လုပ်ပါ။ တိကျသောအဆင့်များအရတရားဝင် PHP စာရွက်စာတမ်းများကိုဖတ်ရှုပါ။
<?php require_once('lib/nusoap.php'); $server = new soap_server(); $server-> configurewsdl (asyncserver ',' URN: asyncserver '); my_async_function ($ parameter) function { // ပြတ်တောင်းပြတ်တောင်းစစ်ဆင်ရေးအတွက်ယုတ္တိဗေဒ // ... 'အောင်မြင်မှု' ကိုပြန်ပို့ပါ။ } $ ဆာဗာ -> မှတ်ပုံတင်ခြင်း ('my_async_Function', Array ('Parameter' => 'XSD: string'), Array ('ReXt' => 'XSD: string'), 'URN: asyncserver', 'URN: asyncserver # my_async_Function', 'RPC', 'encoded', 'ငါ့ Async function' ); $ ဆာဗာ -> 0 န်ဆောင်မှု (file_get_contents (php: // input ')); >
<?php require_once('lib/nusoap.php'); $client = new nusoap_client('http://localhost/async_server.php?wsdl', 'wsdl'); $response = $client-> ခေါ်ဆိုမှု ('my_async_function', Array (Parameter '=>' Hello ')), Print_R ($ တုံ့ပြန်မှု); >
အထက်ပါကုဒ်သည် Nusoap_client မှတစ်ဆင့်ဆပ်ပြာသုံးစွဲမှုကိုဖန်တီးပြီး Php espynchronous ဆက်သွယ်ရေးကိုနားလည်ရန်ဆာဗာ၏ပြတ်တောက်မှုဆိုင်ရာလုပ်ဆောင်မှုကိုပြုလုပ်သည်။
မက်ဆေ့ခ်ျ Queue ဆိုသည်မှာ applications များအကြားမက်ဆေ့ခ်ျများအကြားမက်ဆေ့ခ်ျများအကြားမက်ဆေ့ခ်ျများဖြတ်သန်းရန်အတွက်ယန္တရားတစ်ခုဖြစ်သည်။ PHP တွင်သင်သည် Third-party libbaries များကိုမက်ဆေ့ခ်ျများအပေါ်အကောင်အထည်ဖော်ရန်ယဗ္ဗာင်စာကြည့်တိုက်များနှင့်သုံးနိုင်သည်။
PHP ပတ် 0 န်းကျင်ရှိ RabbitMQ ကိုထည့်သွင်းပြီး configure လုပ်ပါ။
<?php require_once('vendor/autoload.php'); use PhpAmqpLib\Connection\AMQPStreamConnection; use PhpAmqpLib\Message\AMQPMessage; $connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest'); $channel = $connection-> Channel (); $ Queue = 'async_queue'; $ Channel-> Queue_Declare ($ Queue, false false, false false); $ message = အသစ် amqpmessage အသစ် ('ဟဲလို, မက်ဆေ့ခ်ျ!'); $ Channel-> Basic_Publish ($ Message, ', $ Queue), $ channel-> အနီးကပ် (); $ ဆက်သွယ်မှု -> အနီးကပ် (); >
<?php require_once('vendor/autoload.php'); use PhpAmqpLib\Connection\AMQPStreamConnection; $connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest'); $channel = $connection-> Channel (); $ Queue = 'async_queue'; $ Channel-> Queue_Declare ($ Queue, false false, false false); $ Channel-> Basic_consume ($ Queue '', မှားယွင်းသော, မှားယွင်းသော, မှားယွင်းသော, မှားယွင်းသော, မှားယွင်းသော, function ($ msg) ပဲ့တင်သံ "လက်ခံရရှိခဲ့သည်။ $ msg-> ခန္ဓာကိုယ်။ "\ n"; $ msg-> ack (); }); နေစဉ် ($ channel-is_consuming ()) { $ channel->> စောင့်ဆိုင်း; } $ channel-> အနီးကပ် (); $ ဆက်သွယ်မှု -> အနီးကပ် (); >
Phpamqplib စာကြည့်တိုက်မှတစ်ဆင့် RabbitMQ ဆက်သွယ်မှုကို ဖန်တီး. Queue ကိုသတ်မှတ်ပါ။ ထုတ်လုပ်သူသည် Basic_Publish မှတစ်ဆင့်စာများပေးပို့ခြင်းနှင့်စားသုံးသူသည် basic_consume မှတစ်ဆင့်စာတိုများနှင့်စာရင်းဇယားများကိုစာရင်းပြုစုထားသည်။
PHP နှင့်ဆပ်ပြာကိုပေါင်းစပ်ခြင်းသည်ပြတ်တောင်းပြတ်တောင်းဆက်သွယ်မှုကိုအလွယ်တကူရရှိနိုင်ပါသည်။ ဤဆောင်းပါးသည်အချက်အလက်များအားဖြည့်ဆည်းရှင်များကပြတ်ပြတ်သားသားလုပ်ဆောင်မှုများနှင့်တကယ့်စီမံကိန်းများအတွက်သတင်းပို့သည့်လုပ်ငန်းဆောင်တာများကိုလျင်မြန်စွာအကောင်အထည်ဖော်ရန်အတွက်အပြည့်အဝနမူနာကုဒ်များပေးသည်။ အမျိုးမျိုးသောစီမံကိန်းလိုအပ်ချက်များကိုပေါ် မူတည်. အခြားတတိယပါတီစာကြည့်တိုက်များကိုစနစ်ဗိသုကာနှင့်စွမ်းဆောင်ရည်ကိုအကောင်းဆုံးရွေးချယ်ရန်ရွေးချယ်နိုင်သည်။