Laravel 5.6 正式發佈(文檔翻譯工做將在春節後啓動)

file

Laravel 5.6

Laravel 5.6正式成爲laravel框架的的下一個版本! 這個版本有不少新的功能,咱們主要在這裏介紹比較重要的.更多詳細的變動列表請訪問changelog(GitHub).php

日誌改進

在laravel 5.6版本中最大的特色是日誌記錄的改進。
對於初學者來講,5.6版本的日誌記錄配置從config / app.php文件移動到config / logging.php前端

您能夠配置日誌消息發送到多個處理程序的「進程」。
例如,您可能會將全部調試信息發送到系統日誌,並將錯誤日誌發送到冗餘。laravel

閱讀相關配置和自定義日誌請訪問下面這個連接 logging documentation.git

單個服務器調度

若是你有一個任務調度運行在多個服務器上,此任務能夠運行在任意一個服務器.你還能夠用‘onOneServer()’這方法指定這個任務運行在這些服務器的任意一個之中github

$schedule->command('report:generate')
    ->fridays()
    ->at('17:00')
    ->onOneServer();

注意:你必須使用 memcached 或者 redis 緩存驅動做爲默認的緩存驅動.這樣纔可使用laravel5.6版本的單個服務器任務調度.redis

動態訪問限制

Laravel 5.6 指出 dynamic rate limiting 能夠給你更多的靈活性和針對單個用戶的訪問限制:算法

Route::middleware('auth:api', 'throttle:rate_limit,1')
    ->group(function () {
        Route::get('/user', function () {
            //
        });
    });

在上面的例子,  rate_limit 屬於 App\User 模型中的一個屬性 ,用於指定特定的時間內容許的訪問次數.數據庫

廣播頻道類

你如今能夠在 routes/channels.php 中使用 channel 類而不是使用 closures 了。json

要建立一個 channel 類,Laravel 5.6 提供了一個新的 make:channel 命令:bootstrap

php artisan make:channel OrderChannel

你能夠在 routes/channels.php 像下面這樣註冊你的 channel:

use App\Broadcasting\OrderChannel;

Broadcast::channel('order.{order}', OrderChannel::class);

生成 API 資源控制器

你如今能夠爲 APIs 生成一個資源控制器了,它會去掉沒必要要的 create 和 edit 方法,由於這兩個方法只適用於返回 HTML 頁面, 如須要生成資源控制器,只需像下面這樣在後面添加 --api :

php artisan make:controller API/PhotoController --api

Eloquent 日期的建立

您能夠單獨自定義日期或時間被建立的格式:

protected $casts = [
    'birthday' => 'date:Y-m-d',
    'joined_at' => 'datetime:Y-m-d H:00',
];

這種格式適用於模型序列化成數組或json數據。

Blade 組件別名

若是你的 Blade 組件存放在子目錄中,如今起能夠爲它們起個別名以便使用。例如,假設一個 Blade 組件存放在 resources/views/components/alert.blade.php,你可使用 component 方法將這個組件名從 components.alert 改成別名 alert:

Blade::component('components.alert', 'alert');

組件起了別名以後,就可使用別名來渲染:

@component('alert')
    <p>This is an alert component</p>
@endcomponent

Argon2 密碼哈希

若是你在構建一個基於PHP7.2以上的應用的話,那麼Laravel 5.6支持一種新的密碼哈希算法規則。默認的應用哈希驅動經過新增的 config/hashing.php 配置文件來控制。

你能夠在咱們的文章中學習到更多的關於Laravel 5.6 Argon2 密碼哈希算法的內容(https://laravel-news.com/lara...

UUID 方法

Illuminate\Support\Str 類中引入了兩個新的生成惟一UUID的方法
引入了兩個新的方法來生成 UUID。

// 兩個方法都會返回 Ramsey\Uuid\Uuid 對象:
return (string) Str::uuid();

return (string) Str::orderedUuid();

orderedUuid 方法會生成一個時間戳最靠前的UUID,經過諸如 MySQL 的數據庫來索引,更簡單,也更高效。

錯誤提示

咱們最近寫了一篇文章,關於在CLI中的錯誤提示信息包: Collision coming to Laravel 5.6,並將這個包加入了 dev 依賴中。它能夠在控制檯輸出漂亮的錯誤提示信息:

clipboard.png

Bootstrap 4

在5.6中全部前端腳手架和示例 Vue 組件全都使用的Bootstrap 4。在測試版中,咱們已經徹底覆蓋使用了Bootstrap 4,甚至還建立了一個爲Laravel提供的預置。很高興在未來可以看到 Laravel 5.6 和 Bootstrap 4 友誼的小船穩定航行下去!

學習更多關於Laravel5.6

升級你的laravel到5.6版本, 參考upgrade guide. Laravel 致力於使你的應用程式在版本之間更新花費更少的時間. 5.5 更新到5.6估計要花費10-30分鐘. 顯然,這個得根據你的項目應用程式來判斷.

轉自 https://laravel-china.org/top... ,文檔翻譯請關注社區 https://laravel-china.org/
相關文章
相關標籤/搜索