Laravel 10 应用程序骨架代码将具有原生类型声明
发布于 作者 Paul Redmond
Laravel 10 将在任何可能存在于用户空间的生成的代码中使用原生的 PHP 类型声明
Laravel 10.x(将于 2023 年 2 月发布)将为所有应用程序骨架方法添加类型提示和返回类型。✅
— Taylor Otwell 🪐 (@taylorotwell) 2022 年 11 月 14 日
由于这会造成重大变更,因此不会添加属性类型。
类型以一种将最新的 PHP 类型提示功能引入 Laravel 项目的方式添加,而不会在框架级别破坏向后兼容性
- 返回类型
- 方法参数
- 尽可能删除冗余注释
- 允许用户空间类型在闭包参数中使用
- 不包含类型化属性
例如,如果骨架方法的返回类型为 array
,则可能存在一个注释以在无法通过原生类型提供更好的类型清晰度时提供更好的类型清晰度
/** * Get the host patterns that should be trusted. * * @return array<int, string> */public function hosts(): array{ return [ 'laravel.test', ];}
在上面的示例中,IDE 将知道数组的形状,这是 PHP 原生类型设计中无法实现的有用信息。
此外,框架生成的所有代码都将遵循上述相同的类型提示指南,这意味着当您使用 make
命令创建文件时,它们将以与上述相同的方式包含原生类型提示。
Laravel 10 什么时候发布?
根据 支持策略 文档,Laravel 10 将于 2023 年 2 月 7 日发布。
鉴于 Laravel 生态系统的规模,这是一项重大的工作,我们赞赏 Laravel 将向后兼容性作为优先事项。