Heim >PHP-Framework >Laravel >Laravel 9.35 ist veröffentlicht! Sehen Sie, was die neuen Änderungen sind?
Die folgende Tutorial-Kolumne von Laravel stellt Ihnen die Änderungen in der neuesten Version von Laravel 9.35 vor. Ich hoffe, dass sie für alle hilfreich ist!
Das Laravel-Team hat Version 9.35 veröffentlicht, die über eine neue und aufregende alternative E-Mail-Syntax, eine eloquente „strenge Modus“-Funktion und mehr verfügt.
Taylor Otwell hat eine E-Mail-fähige Syntax beigesteuert, indem er „ein kompaktes Objekt zurückgab, das E-Mail-fähige Inhalte und Eigenschaften angibt“.
Hier ist ein Beispiel seiner Pull-Request-Beschreibung:
namespace App\Mail; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Mail\Mailables\Address; use Illuminate\Mail\Mailables\Attachment; use Illuminate\Mail\Mailables\Content; use Illuminate\Mail\Mailables\Envelope; use Illuminate\Queue\SerializesModels; class InvoicePaid extends Mailable { use Queueable, SerializesModels; /** * 创建一个邮件实例 * * @return void */ public function __construct() { // } /** * 获取邮件信封 * * @return \Illuminate\Mail\Mailables\Envelope */ public function envelope() { return new Envelope( subject: 'Invoice Paid', cc: [new Address('foo@example.com', 'Example Name')], tags: [], metadata: [], ); } /** * 获取邮件内容定义 * * @return \Illuminate\Mail\Mailables\Content */ public function content() { return new Content( view: 'html-view-name', text: 'text-view-name', ); } /** * 获取邮件的附件 * * @return \Illuminate\Mail\Mailables\Attachment[] */ public function attachments() { return [ Attachment::fromPath('/path/to/file'), ]; } }
Die traditionelle Art, E-Mails mit build()
zu definieren, wird nicht entfernt. Was mir an dem obigen Beispiel gefällt, ist, dass die Verwendung der benannten Parameter von PHP 8 viel klarer ist. build()
定义邮件的传统方式不会被删除。 我喜欢上面的例子是因为使用 PHP 8 的命名参数更一目了然。
Chris Morrell 和 Taylor Otwell 合作开发了 Eloquent 严格模式,该模式支持以下功能:
要在开发中使用严格模式,方法是将以下内容添加到已注册服务提供者的 boot()
方法中:
Model::shouldBeStrict();
shouldBeStrict()
方法是启用以下所有功能的快捷方式:
Model::preventLazyLoading(); Model::preventSilentlyDiscardingAttributes(); Model::preventsAccessingMissingAttributes();
Andrew Brown 提供了使用以下路由语法加载带有资源路由的废弃模型的能力:
// 所有终结点 Route::resource('users', UserController::class)->withTrashed(); // 仅`显示` Route::resource('users', UserController::class)->withTrashed(['show']);
你可以在GitHub上看到下面完整的新功能和更新列表以及[9.34.0]和9.35.0](github.com/laravel/framework/compa...) 之间的区别。以下发行说明直接来自 changelog:
Illuminate/Database/Eloquent/Model::shouldBeStrict()
和其他 (#44283)make:cast --inbound
,所以它是一个布尔选项,而不是值 (#44505)Model::without Timestamps()
boot()
-Methode eines registrierten Dienstanbieters hinzu: The ShouldBeStrict()-Methode ist eine Verknüpfung, um alle folgenden Funktionen zu aktivieren:
Hinzugefügt🎜Andrew Brown bietet die Möglichkeit, veraltete Modelle mit Ressourcenrouten mithilfe der folgenden Routing-Syntax zu laden:
rrreeeVersionshinweiseSie können die vollständige Liste der neuen Funktionen und Updates unten sowie [9.34.0] und 9.35.0](github.com/laravel/framework/compa...) auf GitHub sehen. Die folgenden Versionshinweise stammen direkt aus dem Änderungsprotokoll:
v9.35.0
Illuminate hinzugefügt /Database/Eloquent/Model ::shouldBeStrict()
und andere (#44283) 🎜🎜Controller-Middleware analysiert keine Controller (#44516) 🎜🎜Mailbare Syntax auswählen (#44462) 🎜🎜🎜Behoben🎜make:cast --inbound
korrigiert, sodass es eine boolesche Option statt eines Werts ist (#44505) 🎜🎜🎜Modifizierte 🎜Model::without Timestamps()
den Rückgabewert des Rückrufs zurückgeben (#44457) 🎜🎜Nur veraltete Modelle auf relevanten Routen laden ( #44478)🎜🎜Zusätzliche PHP-Erweiterungen zur Funktion ShouldBlockPhpUpload hinzufügen (#44512)🎜🎜CutInternals-Caster für besonders verrauschte Objekte registrieren (#44514)🎜🎜Get-Methode verwenden, um auf das Anwendungsgebietsschema zuzugreifen (#44521)🎜🎜Nur nicht leere Antwort zurückgeben vom Kanal (09d53ee, 3944a3e) 🎜🎜Korrekter Kanalabgleich (#44531) 🎜🎜Mail-Komponente migrieren (#44527) 🎜🎜🎜🎜Ursprüngliche Adresse: https://laravel-news.com/laravel-9 -35-0🎜 🎜Übersetzungsadresse: https://learnku.com/laravel/t/72658🎜🎜Das obige ist der detaillierte Inhalt vonLaravel 9.35 ist veröffentlicht! Sehen Sie, was die neuen Änderungen sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!