Я использую пакет Laravel Snappy PDF barryvdh/laravel-snappy
Все работает отлично, однако в файле маршрутов теперь содержится много информации, которую я хотел бы удалить из файла маршрутов и поместить в другое место.
Route::get('services/{service}/overview', function ($id) {
$service = \App\Service::where('id', '=', $id)->first();
$service->load('sbo_name', 'sbm_name', 'stm_name', 'get_lifecycle_status', 'items', 'environments', 'agreements', 'supported_services', 'required_services', 'serviceDependencies', 'readiness');
$data['service'] = $service->toArray();
$pdf = PDF::loadView('reports.services.overview', $data)
->setPaper('a4')
->setOrientation('portrait')
->setOption('footer-right', 'Page [page] of [toPage] ')
->setOption('footer-left', ' Printed: [date]')
->setOption('footer-font-size', 8)
->setOption('footer-font-name', 'Arial')
->setOption('margin-top', 10)
->setOption('margin-left', 5)
->setOption('margin-right', 5)
->setOption('lowquality', false)
->setOption('dpi', 96)
->setOption('image-quality', 100);
return $pdf->inline('Service Overview.pdf');
});
Как лучше это структурировать? Я также не хочу повторять параметры pdf для каждого нового отчета.