Laravel 5.8 现在面向所有人正式发布了。这个版本包括了几个新特性以及最新的错误修复和对框架核心的改进。
一些新特性如下:
PHP dotenv
Laravel 5.8 集成了 PHP 的 dotenv 3.0 ,下面是 PHP dotenv 3.0 的新特性:
- 在阅读和更改环境变量部分具有更大的灵活性
- 对多行变量的一流支持
- 不再格式化值,你获取到的值就是它们现在的样子
- 支持按顺序多行查找 dotenv 文件,以前只支持一行
- 更强的变量名称验证,避免静态变量或模糊变量造成的错误
支持 Carbon 2.0
Laravel 5.8 上可以使用 Carbon 1.0 或 Carbon 2.0, 包括可以使用 CarbonImmutable
, 甚至可以默认使用 CarbonImmutable
。本地化 Carbon 2.0 做了很大改变,2.0 版本相比较 1.0 版本提供了更友好的国际化支持。了解更多资讯。 Carbon 类在 Laravel 5.8 上的升级.
Cache TTL 的改变
可能产生中到高影响的重大改变是 来自 Laravel 5.8 的 Cache TTL 的改变 。现在将整型传到缓存的方法由分改为秒。如果你想要在迁移过程中将整型改为 Carbon 或 DateInterval
实例,请查看我的文章。
已弃用的字符串和数组辅助函数
不用太担心这个修改,在使用上虽然变更为类的方式,但是具体的使用方法与之前一致。并且 Laravel 有计划将 Helper 作为可选扩展包发布,你仍然可以在项目中使用它们。
参考: Laravel 5.8 已弃用的字符串和数组辅助函数
自动解析策略
从 Laravel 5.8 开始,只要解析策略和模型位于传统位置,您就不需要在 AuthServiceProvider
类中注册它们。
如果您更喜欢将非常规路径用于模型和解析策略,则可以注册回调以注册策略或继续手动配置它们:
Gate::guessPolicyNamesUsing(function ($class) {
// Do stuff
return $policyClass;
});
更多相关信息: Laravel 5.8 将支持授权 Policy 类的自动解析
更多新功能
- Nexmo 和 Slack 信息通知通道
- Blade 模板文件路径
- Markdown 文件目录的改变
随着今天的发布, Laravel 5.7 将不再接收功能错误修复和更新。 但是,5.7 将在2019年8月之前收到安全更新。
Laravel 5.8 是最新的稳定版本,将在2019年8月左右处理收到的错误修复和更新,并在2020年2月左右之前进行安全修复。
了解更多
可以访问 http://laravel.com 查看「官方文档」。需要从 Laravel 5.7 升级到 Laravel 5.8,请查看 「升级指南」。
升级指南提供了预估的升级影响级别,以帮助你了解升级中最有影响的内容。请确保通读整篇升级指南,以使升级顺利进行。
中文翻译
中文翻译已启动,请关注:https://learnku.com/laravel/t/24688
更多翻译文章请见 Laravel 开发者社区 https:// learnku.com/laravel/c/t ranslations