Laravel 5.8.18-17 新擴充功能說明
這裏分別針對 Laravel 5.8 (至今年五月)所發佈的一些功能項目進行說明,關於完整的發布紀錄可以參考這裡:
[v5.8.18](https://laravel-news.com/laravel-5-8-18?utm_medium=email&utm_campaign=Laravel v5818 Laracon Australia 2019 PHP Array Redactor and more - 258&utm_content=Laravel v5818 Laracon Australia 2019 PHP Array Redactor and more - 258+CID_a921ac9032531484d27f82e90d45f469&utm_source=email marketing&utm_term=Read More)
或者參閱完整的 v5.8 更新歷程
Html views
在過去版本的 views 架構只支援 *.php, *.blade.php 以及 *.css
目前,支援在 views 放置 .html 檔案
對於 SPAs 來說,會比較便利。
Swift message
swift message 新增了針對MailMessage notification 來取得 callback
$message = new MailMessage();
$message->withSwiftMessage(function ($message) {
// ....
});
dumpHeaders
在 TestResponse clsss 新增了可以針對 Header 進行 Debug 的功能 - dumpHeaders()
在過去針對 response 的 header 進行 debug ,會透過 dd 手動打印
$response = $this->get('/example');
// Previously
dd($response->headers->all());
目前可以直接這樣處理
$response->dumpHeaders();
也可以透過下面的方式 dd response 內容
$response->dump();
Varification - Ends with
Validation 驗證部分,新增了驗證結尾字串
例如,可以驗證來源字串是否以指定的結尾
$rules = [
'email' => 'required|ends_with:laravel.com,jasonmccreary.me',
];
Tappable trait
Tappable trait 這次的修改,可以取代 tap 的寫法,官網提供的比較範例如下:
// with tap method
$result = tap(TappableClass::make(), function ($tappable) {
$tappable->doSomething();
$tappable->doSomethingElse();
})->getResult();
// with Tappable trait
$result = TappableClass::make()->tap(function ($tappable) {
$tappable->doSomething();
$tappable->doSomethingElse();
})->getResult();