×ðÁú¿­Ê±¹ÙÍøµÇ¼

Laravel²¢·¢ÇëÇó

laravelÊÇÒ»¸öºÜÊÇÊ¢ÐеÄphp¿ò¼Ü £¬ËüÌṩÁ˺ÜÊǶàµÄ¹¦Ð§ºÍ¹¤¾ßÀ´¼ò»¯¿ª·¢Ö°Ô±µÄÊÂÇé ¡£ÆäÖÐÒ»¸öºÜÊÇÖ÷ÒªµÄ¹¦Ð§ÊÇÖ§³Ö²¢·¢ÇëÇó ¡£ÔÚ±¾ÎÄÖÐ £¬ÎÒÃǽ«Ì½ÌÖlaravel²¢·¢ÇëÇóµÄÔ­Àí¡¢ÊµÏÖÒªÁìºÍ×î¼Ñʵ¼ù ¡£

ΪʲôÐèÒª²¢·¢ÇëÇó£¿

ÔÚÏÖ´úÓ¦ÓóÌÐòÖÐ £¬ÎÒÃÇͨ³£ÐèÒª´Ó¶à¸ö²î±ðµÄȪԴ»òЧÀÍÖлñÈ¡Êý¾Ý ¡£¿ÉÊÇ £¬ÈôÊÇÎÒÃÇ°´Ë³ÐòÒÀ´ÎÇëÇóÕâЩÊý¾Ý £¬ÄÇô¹ØÓÚÿ¸öÇëÇó £¬ÎÒÃǶ¼ÐèÒªÆÚ´ýЧÀÍÆ÷ÏìÓ¦ £¬Õâ¿ÉÄܻᵼÖ³¤Ê±¼äµÄÆÚ´ýʱ¼ä £¬´Ó¶ø´ó´ó½µµÍÓ¦ÓóÌÐòµÄЧÂʺÍÐÔÄÜ ¡£

ΪÁ˳ä·ÖʹÓÃЧÀÍÆ÷×ÊÔ´ºÍÌá¸ßÓ¦ÓóÌÐòµÄÐÔÄÜ £¬ÎÒÃÇ¿ÉÒÔʹÓò¢·¢ÇëÇó ¡£Ê¹Óò¢·¢ÇëÇó £¬ÎÒÃÇ¿ÉÒÔͬʱ·¢³ö¶à¸öÇëÇó £¬ÆÚ´ýËùÓÐÇëÇó¶¼Íê³ÉÖ®ºóÔÙ¼ÌÐøÖ´ÐкóÐø²Ù×÷ ¡£ÕâÑù £¬ÎÒÃÇ¿ÉÒÔïÔÌ­ÇëÇóµÄÆÚ´ýʱ¼ä £¬²¢³ä·ÖʹÓÃЧÀÍÆ÷µÄ×ÊÔ´ ¡£

LaravelÔõÑùÖ§³Ö²¢·¢ÇëÇó£¿

ÔÚLaravel¿ò¼ÜÖÐ £¬ÎÒÃÇ¿ÉÒÔʹÓà Guzzle HTTP ¿Í»§¶Ë¿âÀ´Ö§³Ö²¢·¢ÇëÇó ¡£GuzzleÌṩÁ˺ÜÊǶàµÄ¹¦Ð§ºÍÑ¡Ïî £¬¿ÉÒÔÇáËɵؽ¨ÉèºÍ·¢ËÍHTTPÇëÇó ¡£ÆäÖÐÒ»¸öºÜÊÇÓÐÓõĹ¦Ð§ÊÇÖ§³ÖÒì²½ÇëÇó £¬¼´·¢ËÍÇëÇóºó²»ÐèÒªÆÚ´ýЧÀÍÆ÷ÏìÓ¦¾Í¿ÉÒÔ¼ÌÐøÖ´ÐкóÐø²Ù×÷ ¡£

ÔÚ±¾ÎÄÖÐ £¬ÎÒÃǽ«Ê¹ÓÃGuzzleÀ´ÊµÏÖLaravel²¢·¢ÇëÇó ¡£ÎÒÃǽ«Ê¹ÓÃLaravel 8ºÍPHP 7.4¾ÙÐÐÑÝʾ £¬¿ÉÊÇÕâ¸öÊÖÒÕ¿ÉÒÔÔÚÆäËû°æ±¾µÄLaravelºÍPHPÖÐʹÓà ¡£

ʵÏÖ°ì·¨

µÚÒ»²½£º×°Öà Guzzle

ÔÚʹÓÃGuzzle֮ǰ £¬ÎÒÃÇÐèÒª½«Æä×°Öõ½ÎÒÃǵÄÓ¦ÓóÌÐòÖÐ ¡£¿ÉÒÔʹÓÃComposer°ü¹ÜÀíÆ÷À´×°ÖÃGuzzle ¡£·­¿ªÖÕ¶Ë £¬½øÈëÄãµÄLaravelÓ¦ÓóÌÐòµÄ¸ùĿ¼ £¬Ö´ÐÐÒÔÏÂÏÂÁ

composer require guzzlehttp/guzzle

µÇ¼ºó¸´ÖÆ

Õ⽫ÏÂÔز¢×°ÖÃGuzzle ¡£×°ÖÃÍê³Éºó £¬ÎÒÃÇ¿ÉÒÔÔÚÎÒÃǵĴúÂëÖÐʹÓÃGuzzleÀ´·¢ËÍHTTPÇëÇó ¡£

µÚ¶þ²½£º½¨Éè²¢·¢ÇëÇó

ÏÖÔÚÎÒÃÇÒѾ­×°ÖÃÁËGuzzle £¬ÎÒÃÇ¿ÉÒÔ×îÏȽ¨Éè²¢·¢ÇëÇó ¡£Ê×ÏÈ £¬ÎÒÃÇÐèҪʹÓÃGuzzle½¨ÉèÒ»¸öHTTP¿Í»§¶Ë£º

$client = new GuzzleHttpClient();

µÇ¼ºó¸´ÖÆ

½ÓÏÂÀ´ £¬ÎÒÃÇ¿ÉÒÔʹÓÃ$client¹¤¾ßÀ´½¨Éè¶à¸öÇëÇó£º

$request1 = $client->requestAsync('GET', 'http://example.com/api/users');
$request2 = $client->requestAsync('GET', 'http://example.com/api/posts');
$request3 = $client->requestAsync('GET', 'http://example.com/api/comments');

µÇ¼ºó¸´ÖÆ

ÔÚÉÏÃæµÄʾÀýÖÐ £¬ÎÒÃǽ¨ÉèÁËÈý¸öÒì²½ÇëÇó £¬ÕâЩÇëÇó½«Í¬Ê±·¢Ë͵½Ð§ÀÍÆ÷ ¡£Ê¹ÓÃrequestAsyncÒªÁì¿ÉÒÔ½¨ÉèÒì²½ÇëÇó £¬²¢Á¬Ã¦·µ»ØPromise¹¤¾ß £¬¶ø²»ÐèÒªÆÚ´ýЧÀÍÆ÷ÏìÓ¦ ¡£

½ÓÏÂÀ´ £¬ÎÒÃÇÐèҪʹÓÃÒ»¸öGuzzleHttpPromiseUtilsÀàµÄ¾²Ì¬ÒªÁìÀ´ÆÚ´ýËùÓÐÇëÇóÍê³É£º

$responses = GuzzleHttpPromiseUtils::all([$request1, $request2, $request3]);

µÇ¼ºó¸´ÖÆ

ÔÚÉÏÃæµÄʾÀýÖÐ £¬ÎÒÃÇʹÓÃÁËallÒªÁì £¬Ëü½ÓÊÜÒ»¸öPromise¹¤¾ßÊý×é £¬²¢·µ»ØÒ»¸öPromise¹¤¾ßÊý×é £¬¸ÃÊý×é°üÀ¨ËùÓÐÇëÇóµÄÏìÓ¦ ¡£µ±ËùÓÐÇëÇóÍê³Éʱ £¬ÎÒÃǽ«»ñµÃÒ»¸ö°üÀ¨ËùÓÐÏìÓ¦µÄÊý×é ¡£

×îºó £¬ÎÒÃÇ¿ÉÒÔʹÓÃwaitÒªÁìÀ´ÆÚ´ýËùÓÐÇëÇóÍê³É £¬²¢´¦Àíÿ¸öÏìÓ¦£º

$results = [];
foreach ($responses as $response) {
    $results[] = json_decode($response->getBody()->getContents());
}

return $results;

µÇ¼ºó¸´ÖÆ

ÔÚÉÏÃæµÄʾÀýÖÐ £¬ÎÒÃÇʹÓÃforeachÑ­»·±éÀúÿ¸öÏìÓ¦ £¬²¢½«Æäת»»ÎªPHP¹¤¾ß ¡£×îÖÕ £¬ÎÒÃÇͨ¹ý·µ»ØЧ¹ûÊý×éÀ´¿¢Ê¸òÙ×÷ ¡£

×î¼Ñʵ¼ù

ÔÚʹÓò¢·¢ÇëÇóʱ £¬Óм¸¸ö×î¼Ñʵ¼ù¿ÉÒÔʹÎÒÃǵĴúÂëÔ½·¢¿É¶Á¡¢¿Éά»¤ºÍ¸ßЧ ¡£ÒÔÏÂÊÇһЩ×î¼Ñʵ¼ù£º

ʹÓÃrequestAsyncÒªÁìÀ´½¨ÉèÒì²½ÇëÇó ¡£ÕâÑù £¬ÎÒÃÇ¿ÉÒÔÁ¬Ã¦·µ»ØÒ»¸öPromise¹¤¾ß £¬²¢ÆÚ´ýËùÓÐÇëÇóÍê³É ¡£

ÈôÊÇÎÒÃÇÖ»ÐèҪһЩÇëÇóµÄÏìÓ¦ £¬ÎÒÃÇ¿ÉÒÔʹÓÃsomeÒªÁìÀ´ÆÚ´ýí§ÒâһЩÇëÇóÍê³É²¢·µ»ØÆäÏìÓ¦ ¡£

ÔÚʹÓöà¸öÒì²½ÇëÇóʱ £¬½¨ÒéÏÞÖƲ¢·¢ÇëÇóÊýÄ¿ ¡£¹ý¶àµÄ²¢·¢ÇëÇó¿ÉÄܻᵼÖÂЧÀÍÆ÷¸ºÔعý¸ß £¬´Ó¶ø½µµÍÓ¦ÓóÌÐòµÄÐÔÄÜ ¡£¿ÉÒÔʹÓÃPoolÀàÀ´ÏÞÖƲ¢·¢ÇëÇóÊýÄ¿ ¡£

ÈôÊÇÎÒÃÇ´¦Àí´ó×ÚµÄÒì²½ÇëÇó £¬¿ÉÒÔʹÓÃЭ³ÌÀ´Ìá¸ß´úÂëµÄÐÔÄÜ ¡£Ð­³ÌÄܹ»³ä·ÖʹÓÃЧÀÍÆ÷×ÊÔ´ £¬²¢ïÔÌ­ÉÏÏÂÎÄÇл»µÄ´ÎÊý ¡£

×ܽá

ÔÚ±¾ÎÄÖÐ £¬ÎÒÃÇ̽ÌÖÁËLaravel²¢·¢ÇëÇóµÄÔ­Àí¡¢ÊµÏÖÒªÁìºÍ×î¼Ñʵ¼ù ¡£Ê¹Óò¢·¢ÇëÇó £¬ÎÒÃÇ¿ÉÒÔͬʱ·¢ËͶà¸öÇëÇó £¬´Ó¶øÌá¸ßÓ¦ÓóÌÐòµÄÐÔÄܺÍЧÂÊ ¡£Ê¹ÓÃGuzzleºÍPromise¹¤¾ß £¬ÎÒÃÇ¿ÉÒÔÇáËɵØʵÏÖ²¢·¢ÇëÇó £¬²¢´¦ÀíËùÓÐÏìÓ¦ ¡£ÈôÊÇÄãÕýÔÚ¿ª·¢Ò»¸öÐèÒª´Ó¶à¸öȪԴ»òЧÀÍÖлñÈ¡Êý¾ÝµÄÓ¦ÓóÌÐò £¬ÄÇôLaravel²¢·¢ÇëÇó¿ÉÄÜÊÇÒ»¸öºÜºÃµÄ½â¾ö¼Æ»® ¡£

ÒÔÉϾÍÊÇLaravel²¢·¢ÇëÇóµÄÏêϸÄÚÈÝ £¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí £¬°æȨÕùÒéÓë±¾Õ¾ÎÞ¹Ø £¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±¹ÙÍøµÇ¼ÂËÓÍ»úÍø¹Ù·½Ì¬¶È £¬Çë¶ÁÕß½ö×ö²Î¿¼ ¡£±¾ÎĽӴýתÔØ £¬×ªÔØÇë˵Ã÷À´ÓÉ ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢ £¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢ £¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼ʵʱÐÞÕý»òɾ³ý ¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎå £¬9:30-18:30 £¬½ÚãåÈÕÐÝÏ¢

QR code
ÍøÕ¾µØͼ