Laravel 7.12发布
Laravel团队发布了带有新的TrustHosts中间件的v7.12.0,以及对7.x分支的最新更新。
TrustHosts中间件
TaylorOtwell贡献了一个新的 TrustHosts 中间件,在Illuminate请求对象中配置了受信任主机的白名单。默认情况下,HTTPFoundation配置为空数组,因此此中间件将帮助您(通过正则表达式)锁定应用程序将识别的主机。
Laravel开箱即用的设置是配置app.url 值上的所有子域 。从Laravel7开始,此中间件已启用,因此您可以在新应用中取消注释,也可以在升级到v7.12后添加以下内容:
protected $middleware = [ \App\Http\Middleware\TrustHosts::class, ];
大部分逻辑来自框架中的基本中间件类,然后Laravel应用程序具有TrustHosts 用于扩展框架的随附 中间件。您可以自由定制和覆盖基本中间件主机白名单逻辑。
跳过资源路由中的中间件
SébastienNikolaou贡献了从资源路由中跳过中间件的能力。这是PullRequest#32891的示例:
Route::middleware(['auth', 'verified'])->group(function () { Route::resource('photo', 'PhotosController')->withoutMiddleware('verified'); });
发行说明
您可以在下面看到新功能和更新的完整列表,以及GitHub上7.11.0和7.12.0之间的区别。
注意:在撰写本文时,尚无官方发行说明,您始终可以在CHANGELOG-7x中看到最新版本。
v7.12.0
添加
添加 Illuminate\Http\Middleware\TrustHosts(9229264)
能够从资源路由中跳过中间件(#32891)
固定的
固定队列的邮件附件已发送邮件侦听器(#32795)
在发送之前添加了错误清除功能 (#32799)Illuminate\Mail\Mailer::sendSwiftMessage()
避免在auth组件中调用基础函数(#32805)
修复了(#32847)的推断表参考 Illuminate\Database\Schema\ForeignIdColumnDefinition::constrained()
修复了错误的组件生成(73060db)
修复了Illuminate\Routing\UrlGenerator (6ad92bf)中的请求重新绑定和URL默认值的错误
修复 了将过期永久更改的错误(#32875)Illuminate\Cache\ArrayStore::increment()
已变更
不要在(894fe22)中不缓存非对象 Illuminate/Database/Eloquent/Concerns/HasAttributes::getClassCastableAttributeValue()
添加了显式 symfony/polyfill-php73 依赖项(5796b1e)
Cache\FileStore 仅设置 一次文件权限(#32845、11c533b)
添加了别名作为包的视图组件的键(#32863)