Marcel Pociot podzielił się wskazówką dotyczącą używania metody klienta HTTP Laravel sink() do napisania odpowiedzi na plik:
— Marcel Pociot 🧪 (@marcelpociot) June 20, 2023Właśnie dowiedziałem się o zgrabnej, małej, nieudokumentowanej metodzie klienta HTTP @laravelphp .
Metoda "sink" umożliwia przekazanie nazwy pliku lub zasobu. Odpowiedź na żądanie zostanie zapisana w tym pliku.
Ułatwia to pobieranie plików zdalnych z dodatkowymi nagłówkami .twitter.com/ZHHURltcfA
Opcja żądania sink jest również dostępna w bibliotece klienta HTTP Guzzle, dawniej save_to
opcja żądania:
$client->request('GET', '/stream/20', ['sink' => '/path/to/file']);
// PHP stream
$resource = \GuzzleHttp\Psr7\Utils::tryFopen('/path/to/file', 'w');
$stream = \GuzzleHttp\Psr7\Utils::streamFor($resource);
$client->request('GET', '/stream/20', ['sink' => $stream]);
Jeśli chcesz dowiedzieć się więcej o wszystkich doskonałych funkcjach klasy żądań HTTP firmy Laravel, zapoznaj się z dokumentacją żądań HTTP. Źródło PendingRequest to kolejny doskonały zasób, aby zobaczyć, jak działa klient HTTP Laravel pod maską.