您好,登錄后才能下訂單哦!
這篇文章主要講解了“laravel的5.2和5.6版本有哪些區別”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“laravel的5.2和5.6版本有哪些區別”吧!
laravel的5.2和5.6版本的區別:1、5.6版本的所有前端腳手架和Vue組件實例全部基于“Bootstrap 4”,并且默認搭配了“Bootstrap 4”穩定版,而5.2版本實例沒有基于“Bootstrap 4”并且也不是默認版本;2、5.6版本的日志配置文件是“config/logging.php”,5.2版本的日志配置文件是“config/app.php”。
本文操作環境:Windows10系統、Laravel5.6&&laravel5.2版、Dell G3電腦。
5.2版本增加
六個月的 bug 修復和一年的安全修復支持
1.多認證驅動支持
2.隱式模型綁定
3.簡化 Eloquent 全局作用域
4.可選擇的認證腳手架
5.中間件組
6.訪問頻率限制
7.數組輸入驗證優化
5.6版本增加
1.日志系統、
2.單機任務調度
3.模型序列化優化
4.Eloquent 日期格式化優化
5.動態頻率限制
6.廣播頻道類
7.API 資源控制器生成
8.Blade 組件別名
9.Argon2 密碼哈希支持
9.引入 Collision 擴展包
所有的前端腳手架代碼都已升級到 Bootstrap 4,Laravel 底層使用的 Symfony 組件都已升級到 Symfony ~4.0 版本。
改進日志
Laravel 5.6 版本中最重要的特性就是日志功能的改進。對于 Laravel 新手請注意,Laravel 5.6 的日志配置文件從 config/app.php 變更到了 config/logging.php。
你可以通過配置 stack 從而將日志發送到不同的處理器中。例如,你可能需要將 debug 日志發送到 system log,而 error 日志發送到 slack。
關于配置和定制日志的更多信息請參考日志相關的文檔。
單服務器任務調度
如果你在多臺服務器上都運行著任務調度器,那么你所發出的任務就會在每臺服務器上執行。通過 onOneServer() 方法可以指定任務具體運行在哪一臺服務器上。
$schedule->command('report:generate') ->fridays() ->at('17:00') ->onOneServer();
注意:在 Laravel 5.6 版本中必須使用 memcached 或 redis 緩存驅動作為默認緩存驅動才能獲得單服務器任務調度的優勢。
動態限速
Laravel 5.6 引入了動態限速功能,為你帶來更多彈性的同時也讓針對單個用戶的限速更簡單:
Route::middleware('auth:api', 'throttle:rate_limit,1') ->group(function () { Route::get('/user', function () { // }); });
上述實例中,rate_limit 是 App\User 模型(model)的一個屬性(attribute),用于確定某時間段內允許的請求次數。
廣播頻道(Broadcast Channel) 類
現在可以在 routes/channels.php 文件中使用 channel 類了。
Laravel 5.6 提供了一個新的 make:channel 命令用于輔助生成一個新的 channel 類:php artisan make:channel OrderChannel
在 routes/channels.php 文件中注冊 channel 類就像下面這樣簡單:
use App\Broadcasting\OrderChannel; Broadcast::channel('order.{order}', OrderChannel::class);
生成 API 控制器(Controller)
現在你可以為無需 create 和 edit 方法的 API 生成一個資源控制器,這一便利途徑僅僅針對返回 HTML 的資源控制器。在命令行末尾添加 --api 參數即可生成資源控制器:php artisan make:controller API/PhotoController --api
Eloquent 日期格式
在 Laravel 5.6 中可以分別為 Eloquent date 和 datetime 指定格式了:
protected $casts = [ 'birthday' => 'date:Y-m-d', 'joined_at' => 'datetime:Y-m-d H:00', ];
此格式用于將模型(model)序列化為數組或 JSON 數據。
Blade 組件別名
在 Laravel 5.6 中你可以為 blade 組件創建別名以方便引用。例如,如果你在 resources/views/components/alert.blade.php 文件中保存了一個 blade 組件,你就可以利用 component() 方法為其創建一個更短的別名:Blade::component('components.alert', 'alert');
然后你就可以通過別名引用此組件并輸出了:@component('alert')
This is an alert component
@endcomponent
Argon2 密碼哈希
Laravel 5.6 針對 PHP 7.2+ 支持新的散哈希法。你可以在 config/hashing.php 配置文件中指定默認使用的哈希算法。
UUID 方法
Illuminate\Support\Str 類中新增了兩個方法用于生成 UUID(Universal Unique Identifiers):
// The methods return a Ramsey\Uuid\Uuid object return (string) Str::uuid(); return (string) Str::orderedUuid();
The orderedUuid() 方法用于生成一個時間戳開頭的 UUID 便于更有效的數據庫索引。
Collision 美化錯誤報告
我們最近開發了 Collision 包并將其作為 Laravel 5.6 的開發依賴(dev dependency)。Collision 能夠提供美觀的錯誤報告并輸出到控制臺。
Bootstrap 4
所有前端腳手架和 Vue 組件實例全部基于 Bootstrap 4 了。從 Bootstrap 4 beta 版本開始我們就已經跟進了,甚至創建了 Bootstrap 4 Laravel preset。現在,Laravel 5.6 默認搭配了 Bootstrap 4 穩定版。
感謝各位的閱讀,以上就是“laravel的5.2和5.6版本有哪些區別”的內容了,經過本文的學習后,相信大家對laravel的5.2和5.6版本有哪些區別這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。