Вирішено Як в Laravel згенерувати файл для завантаження на льоту

Alex Alex · 9 · 1

Як в laravel правильно повернути дані з заголовками на льоту без генерації повної відповіді на сервері

Ось для прикладу код

$generator = $service->getGenerator();

header('Content-Type: text/xml');
foreach($generator as $item) {
    echo View::make('some-item', 'item' => $item]);
}

Як його правильно реалізувати на Laravel?

Відповіді на питання

Це можна зробити наступним чином

use Symfony\Component\HttpFoundation\StreamedResponse;
$generator = $service->getGenerator();

$response = new StreamedResponse();
$response->headers->set('Content-Type', 'text/xml');

$response->setCallBack(function () use($generator) {
    foreach($generator as $item) {
        echo View::make('some-item', 'item' => $item]);
    }
});

return $response;

Для відповіді на запитання необхідно авторизуватись

Війти / Зареєструватися