لاراول ۱۳.۱۹ و پشتیبانی کامل از متد QUERY
خلاصهٔ کاملتر
نسخهٔ ۱۳.۱۹.۰ لاراول اومده و مهمترین چیزش تکمیل پشتیبانی از متد HTTP QUERY هم تو کلاینت HTTP و هم تو ابزارهای تستـه. به گفتهٔ نویسنده، این نسخه چند بهبود روی کالکشنها، رشتهها و صف رو هم کنارش داره.
متد جدید Http::query() بهت اجازه میده درخواستهایی با فعل QUERY بفرستی؛ فرقش اینه که پارامترها به جای URL تو بدنهٔ درخواست میرن. درست مثل post() و put() کار میکنه، بهطور پیشفرض JSON میفرسته و اگه asForm() صداش کنی، داده رو فرمانکد میکنه.
$response = Http::query('https://api.example.com/search', [
'filter' => ['status' => 'active'],
]);بخش تست هم متدهای query() و queryJson() رو گرفته که برای زدن روتهایی که به QUERY جواب میدن به کار میان و داده رو تو بدنه میذارن.
از بهبودهای دیگه میشه به متد reduceInto() تو کالکشنها اشاره کرد؛ این یه نسخه از reduce() برای وقتیه که میخوای یه انباره (accumulator) رو سرجاش تغییر بدی به جای اینکه هر بار مقدار جدید برگردونی. همچنین هلپر counted() رو Str و Stringable یه کلمه رو جمع میبنده و تعدادش رو هم جلوش میذاره.
تو بخش صف، حالا ارسال دستهای به SQS از طریق API ای به اسم SendMessageBatch انجام میشه که به جای یه درخواست برای هر جاب، تعداد درخواستها رو موقع فرستادن کلی جاب کم میکنه. fake صف هم میتونه جابهای reserved رو بررسی کنه تا تستها روی جابهایی که برداشته شدن ولی هنوز تموم نشدن ادعا بزنن.
نکات کلیدی:
- متد Http::query() درخواستهای QUERY میفرسته و پارامترها رو تو بدنه میذاره نه URL
- هلپرهای تست query() و queryJson() برای زدن روتهای QUERY اضافه شدن
- reduceInto() برای تغییر انباره سرجاش و counted() برای جمعبستن همراه شمارش
- ارسال دستهای صف به SQS حالا با SendMessageBatch تعداد درخواستها رو کم میکنه




