Laravel 8.71 发布
Laravel团队发布了8.71,其中包含@js blade指令、拒绝验证规则、刷新宏的功能,以及v8.x分支中的最新更改:
拒绝验证规则
Nicklas Kevin Frank 贡献 declined 和 declined_if 验证规则。 这些规则与 accepted 和 accepted_if, 这意味着验证中的字段必须等于 no
、off
、0
或 false
。 declined_if
是相同的,但仅当另一个字段等于指定值时。
@js Blade 指令
Chris Morrell 在 Laravel 8.70 中引入的 Js 类。 此指令可用于在 HTML 引号内正确转义 JSON,从而使用JSON.parse()
生成 JS 对象:
<div x-data="@js($data)"></div>
以上将解释为:
<div x-data="<?php echo \Illuminate\Support\Js::from($data)->toHtml() ?>"></div>
刷新宏
Brad Miller 为 Laravel 框架中各个类中使用的“Macroable”特性贡献了一个flushMacros
方法。这种方法在单元测试环境中很有用,因为单元测试环境中存在副作用,并行测试可能导致间歇性故障。 调用 flushMacros()
方法将删除在类上定义的所有宏:
Example::flushMacros()
发行说明
您可以在GitHub上查看新功能和更新的完整列表以及 8.70.0 和 8.71.0 之间的差异。以下发行说明来自 changelog:
v8.71.0
新增
- 新增了
denied
和denied_if
验证规则 (#39579) - Arrayable/collection 支持使用
Collection::splice()
替换参数 (#39592) - 引入
@js()
指令(#39522) - 枚举类型转换接受支持的值 (#39608)
- 向 Macroable 特性添加了一个方法,用于删除所有配置的宏。 (#39633)
修复
- 修复了自动生成的 Markdown 视图 (#39565)
- DB命令:处理mysql缺少驱动参数的问题 (#39582)
- 修复了连接属性名称中的拼写错误
Illuminate/Database/Connection
(#39590) - 修复:防止重新转换枚举值 (#39597)
- 将值转换为 int in
Illuminate/Database/Query/Builder::limit()
(62273d2) - 修复组件未渲染时$component未还原的问题 (#39595)
变更
make:model --all
标志将使用 –requests 自动触发 (#39578)- 允许断言多个 JSON 验证错误 (#39568)
- 确保缓存目录权限(#39591)
- 更新存根的占位符 (#39527)
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
Type error: ReflectionFunction::__construct() expects parameter 1 to be string, array given
Route::get('/user', [UserController::class, 'index']);
class UserController extends Controller { function index() { echo 66;exit; }
这个错误是什么原因啊,实例化需要一个参数吗?