У laravel-pdf 2.6.0 з’явилася можливість додавати PDF безпосередньо до Mailables.

0
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 22 квітня, 2026
Оновлена версія laravel-pdf дозволяє прикріплювати згенеровані файли до листів безпосередньо в коді без їхнього збереження на диск. Дізнайтеся, як підтримка контракту Attachable спрощує роботу з PDF-вкладеннями у вашому Laravel-проєкті.

У версії laravel-pdf v2.6.0 від Spatie з’явилася підтримка контракту Attachable для PdfBuilder. Відтепер згенеровані PDF-файли можна передавати безпосередньо в метод attach() у mailable-класах або сповіщеннях без попереднього збереження на диск.

Оскільки PdfBuilder тепер реалізує інтерфейс Illuminate\Contracts\Mail\Attachable, його можна використовувати всюди, де Laravel очікує об’єкт для вкладення. Назва файлу підтягується з методу name() (розширення .pdf додається автоматично), а MIME-тип application/pdf встановлюється за замовчуванням.

Ось як це виглядає у сповіщенні:

use Illuminate\Notifications\Messages\MailMessage;
use Spatie\LaravelPdf\Facades\Pdf;
 
public function toMail(object $notifiable): MailMessage
{
    $pdf = Pdf::view('pdfs.invoice', ['invoice' => $this->invoice])
        ->name('invoice.pdf');
 
    return (new MailMessage)
        ->subject('Your invoice')
        ->line('Please find your invoice attached.')
        ->attach($pdf);
}

Приклад використання у mailable через метод attachments():

use Illuminate\Mail\Mailable;
use Spatie\LaravelPdf\Facades\Pdf;
 
class InvoiceMail extends Mailable
{
    public function __construct(public Invoice $invoice) {}
 
    public function attachments(): array
    {
        return [
            Pdf::view('pdfs.invoice', ['invoice' => $this->invoice])
                ->name('invoice.pdf'),
        ];
    }
}

# Посилання

Популярні

Logomark Logotype

Створення MCP-серверів на PHP

Модельний контекстний протокол (MCP) відкриває нові горизонти в інтеграції AI-додатків з PHP. Дізнайтеся, як легко створити сервер, що відповідає MCP, та які можливості відкриваються для вашого проєкту

Logomark Logotype

Що нового в PHP 8.5

PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення

Logomark Logotype

Обробка геопросторових даних за допомогою Laravel Magellan

Ви готові відкрити нові горизонти у роботі з геопросторовими даними в Laravel? Дізнайтеся, як за допомогою PostGIS та пакету Laravel-Magellan можна легко зберігати, запитувати та маніпулювати інформацією про розташування, перетворюючи ваші проекти на вражаючі рішення у сфері картографії та геолокації!