Запитати

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

Alex
1 рік тому · 12 · Вирішено

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

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

$generator = $service->getGenerator();

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

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

php laravel generator yield header

Відповіді на питання (1)
Alex Обране рішення
1 рік тому

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

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;

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

Вхід / Реєстрація