
Laravel 5.4 版本正式發布了!這一版本帶來了很多新特性以及對原有功能的提升。
## Laravel Dusk
Laravel Dusk 是一個端到端(end-to-end)的瀏覽器測試工具。對于夾雜了 JavaScript 開發的應用,Dusk 可以提供頁面交互測試,因此,你可以用 Dusk 測試點擊按鈕、鏈接、表單,甚至拖拽功能。
Dusk 利用 ChromeDriver 和 Facebook 的 Php-webdriver 實現的測試功能。它可以和 Selenium 瀏覽器協同工作,但是由于自帶了 ChromeDriver,你可以省去安裝 JDK 或 Selenium 了。
Dusk 非常易用,無須設置 Selenium,也無需每次都啟動服務。
## Laravel Mix
Laravel Mix 是 Elixir 的繼任者。Mix 拋棄了 Gulp,投入了 webpack 的懷抱。這次改名字就是為了凸顯這次變化的重大。
除非你對 Elixir 的設置做了定制,否則遷移到 Mix 輕而易舉。
## Markdown 郵件
Laravel 5.3 曾經引入了兩個關于郵件的新特性:Mailables 和 Notifications,能幫你通過郵件、短信或其他通道發送同一份信息。
基于上述兩個功能,Laravel 5.4 包含了全新的創建郵件模版的 Markdown 系統。
底層原理是基于 Markdown Extra 實現了 Parsedown 解析器,因此你可以這樣:
~~~
@component('mail:message')
# Thank You
Thank you for purchasing from our store.
@component('mail::button', ['url' => $actionUrl, 'color' => $color])
{{ $actionText }}
@endcomponent
@endcomponent
~~~
## 自動化 Facades
你現在可以將任何 class 作為 Facade 使用:
~~~
namespace App;
class Zonda
{
public function zurf()
{
return ‘Zurfing’;
}
}
~~~
然后,在路由或控制器中:
~~~
use Facades\ {
App\Zonda
};
Route::get('/', function () {
return Zonda::zurf();
});
~~~
## 路由功能的提升
添加命名路由(named route)或中間件可以使用以下瀑布語法(fluent syntax)了:
~~~
Route::name('profile')->get('user/{id}/profile', function ($id) {
// some closure action...
});
Route::name('users.index')->middleware('auth')->get('users', function () {
// some closure action...
});
Route::middleware('auth')->prefix('api')->group(function () {
// register some routes...
});
Route::middleware('auth')->resource('photo', 'PhotoController');
~~~
## 更多新特性
其他變化或提升還包括:
* 新的?`retry`?助手函數
* 新的?`array_wrap`?函數
* 添加了一個默認的 503 錯誤頁面
* 從底層核心切換到?`::class`?notation
* 為密碼重置陸游命名
* 支持 PhpRedis
* 增加 IPv4 和 IPv6 校驗能力
* `date_format`?校驗現在更精確了
## 升級到 Laravel 5.4
[官方文檔](升級說明.md)包含了完整的升級指南。另外,注意以下幾個變化:
Laravel Tinker 現在成為了一個獨立的包(package),安裝方便了,只需 require 這個包,然后引入相應的 service provider 即可:
~~~
composer require laravel/tinker
~~~
上述指令執行完成后,將它的 service provider 添加到 config/app.php 文件中:
~~~
Laravel\Tinker\TinkerServiceProvider
~~~
通過修改?`composer.json`?文件,將?`laravel/framework`?以來修改為?`5.4.*`?即可獲取最新版本的 Laravel。
## 關于 Laravel 5.4 的更多信息
請參考官方文檔[升級指南](升級說明.md)和[版本更新日志](發行說明.md)。
- 前言
- 翻譯說明
- 發行說明
- 升級說明
- 貢獻導引
- 入門指南
- 安裝
- 配置信息
- 文件夾結構
- 請求周期
- 開發環境部署
- Homestead
- Valet
- 核心概念
- 服務容器
- 服務提供者
- Facades
- Contracts
- HTTP層
- 路由
- 中間件
- CSRF 保護
- 控制器
- 請求
- 響應
- 視圖
- Session
- 表單驗證
- 前端
- Blade 模板
- 本地化
- 前端指南
- 編輯資源 Mix
- 安全
- 用戶認證
- Passport OAuth 認證
- 用戶授權
- 加密解密
- 哈希
- 重置密碼
- 綜合話題
- Artisan 命令行
- 廣播系統
- 緩存系統
- 集合
- 錯誤與日志
- 事件系統
- 文件存儲
- 輔助函數
- 郵件發送
- 消息通知
- 擴展包開發
- 隊列
- 任務調度
- 數據庫
- 快速入門
- 查詢構造器
- 分頁
- 數據庫遷移
- 數據填充
- Redis
- Eloquent ORM
- 快速入門
- 模型關聯
- Eloquent 集合
- 修改器
- 序列化
- 測試
- 快速入門
- HTTP 測試
- 瀏覽器測試 Dusk
- 數據庫測試
- 測試模擬器
- 官方擴展包
- Cashier 交易工具包
- Envoy 部署工具
- Scout 全文搜索
- Socialite 社會化登錄