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.17

或者參閱完整的 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();