Запитати

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

Вирішено
09 жовтня 2020 · 16 ·
0

Як в 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)

09 жовтня 2020
0
Обране рішення

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

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;

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

Вхід