企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
![Laravel 5.4 版本正式发布](http://image.golaravel.com/f/48/7a406073b512ef16a891127824c7b.jpg) 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)。