Optimaler Einsatz der neuen Optionen für make:mail
Optimaler Einsatz der neuen Optionen für make:mail, Laravel 11.15 bringt einige Verbesserungen für den Befehl make:mail, die die Erstellung von Mailable-Klassen erleichtern und flexibler gestalten.
Einführung
Der Befehl make:mail in Laravel dient zur Erstellung von Mailable-Klassen, die für den Versand von E-Mails verwendet werden. Mit den neuen Optionen können Sie:
Eine Mailable-Klasse mit einer Markdown-Vorlage erstellen.
Eine Mailable-Klasse mit einer bestehenden Ansicht verknüpfen.
Bestehende Dateien ohne Rückfrage überschreiben.
Erstellung einer Mailable-Klasse mit Markdown-Vorlage (--markdown)
Markdown ermöglicht es Ihnen, E-Mail-Vorlagen einfacher zu erstellen und zu pflegen. Mit der Option --markdown können Sie schnell eine Mailable-Klasse mit einer verknüpften Markdown-Vorlage erstellen.
php artisan make:mail OrderShipped --markdown=emails.orders.shipped
Ergebnis
Dieser Befehl generiert zwei Dateien:
Eine Mailable-Klasse OrderShipped unter app/Mail/OrderShipped.php.
Eine Markdown-Vorlage shipped.blade.php unter resources/views/emails/orders.
Code-Beispiel für die Mailable-Klasse
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class OrderShipped extends Mailable
{
use Queueable, SerializesModels;
public $order;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($order)
{
$this->order = $order;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->markdown('emails.orders.shipped')
->with([
'orderName' => $this->order->name,
'orderPrice' => $this->order->price,
]);
}
}
Code-Beispiel für die Markdown-Vorlage
@component('mail::message')
# Bestellung versandt
Ihre Bestellung wurde versandt!
**Bestellname:** {{ $orderName }}
**Preis:** {{ $orderPrice }}
@component('mail::button', ['url' => ''])
Bestellung ansehen
@endcomponent
Danke, dass Sie bei uns bestellt haben!
{{ config('app.name') }}
@endcomponent
Verknüpfung einer Mailable-Klasse mit einer bestehenden Ansicht (--view)
Mit der Option --view können Sie eine Mailable-Klasse erstellen, die eine bereits vorhandene Blade-Vorlage verwendet.
Beispiel
Erstellen Sie eine neue Mailable-Klasse mit einer bestehenden Ansicht:
php artisan make:mail InvoiceGenerated --view=emails.invoice
Ergebnis
Dieser Befehl generiert eine Mailable-Klasse InvoiceGenerated unter app/Mail/InvoiceGenerated.php, die die vorhandene Ansicht emails.invoice verwendet.
Code-Beispiel für die Mailable-Klasse
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class InvoiceGenerated extends Mailable
{
use Queueable, SerializesModels;
public $invoice;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($invoice)
{
$this->invoice = $invoice;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('emails.invoice')
->with([
'invoiceNumber' => $this->invoice->number,
'invoiceAmount' => $this->invoice->amount,
]);
}
}
Überschreiben bestehender Dateien ohne Rückfrage (--force)
Mit der Option --force können Sie bestehende Dateien überschreiben, ohne dass eine Bestätigung erforderlich ist. Dies ist nützlich, wenn Sie Änderungen vornehmen und sicherstellen möchten, dass die neuesten Versionen der Dateien erstellt werden.
Beispiel
Erstellen Sie eine neue Mailable-Klasse und überschreiben Sie bestehende Dateien:
php artisan make:mail WelcomeUser --markdown=emails.welcome --force
Ergebnis
Dieser Befehl überschreibt die vorhandene Mailable-Klasse und die Markdown-Vorlage, falls diese bereits existieren.
Fazit
Die neuen Optionen für den Befehl make:mail in Laravel 11.15 bieten eine erhöhte Flexibilität und Effizienz bei der Erstellung von Mailable-Klassen. Die Option --markdown ermöglicht es Ihnen, schnell und einfach E-Mails mit Markdown-Vorlagen zu erstellen, während die Option --view die Nutzung bestehender Ansichten erleichtert. Mit der Option --force können Sie sicherstellen, dass Ihre Änderungen sofort angewendet werden, ohne bestehende Dateien manuell löschen zu müssen.
Diese Verbesserungen machen die E-Mail-Erstellung in Laravel noch leistungsfähiger und benutzerfreundlicher. Probieren Sie diese Optionen aus und optimieren Sie Ihren E-Mail-Versandprozess.
Viel Erfolg bei der Umsetzung und viel Spaß beim Coden!
0 Kommentare
Bitte Loge dich ein um ein Kommentar zu Hinterlassen!
oder Login mit Google