以下由Laravel教學專欄為大家介紹關於最新發布的Laravel 9.35版本都有哪些變化,希望對大家有幫助!
Laravel 團隊發布了9.35版本,它有一個新的令人興奮的備用郵件語法、一個Eloquent的 「嚴格模式」 功能等。
Taylor Otwell 透過傳回 “指定可郵件內容和屬性的精簡物件”,貢獻了一個可郵件語法。
這是他的一個例子 pull request description:
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'), ]; } }
使用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) 傳回回呼的回傳值(#44457)
原文網址:https://laravel-news.com/laravel-9-35-0譯文網址:https://learnku.com/laravel/t/72658
以上是Laravel 9.35 發布囉!看看有哪些新變化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!