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('[email protected]', '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)Model::without Timestamps()
返回回撥的返回值 (#44457)原文地址:https://laravel-news.com/laravel-9-35-0
譯文地址:https://learnku.com/laravel/t/72658
以上就是Laravel 9.35 釋出啦!看看都有哪些新變化?的詳細內容,更多請關注TW511.COM其它相關文章!