2019 年 2 月 26 日,Laravel 新版本 5.8 发布。粗略地扫了一遍新功能列表,感觉没有任何尝试的必要,根本没有升级的冲动。都是不痛不痒的小功能更新。只不过有些修改确实无法向下兼容 5.7 版本,例如 TTL 的单位问题,所以不得不发了 5.8 版本,我觉得是这样。
Laravel 5.8 要求 PHP 版本 >= 7.1.3。
一些新功能:
集成了 PHP dotenv 3.0
随之而来的新特性使 .env 的配置更加灵活:
支持了多行变量。例如
LOCATION="烟台
开发区"
不再对配置字符串进行 trim 操作。
可配置从一堆路径中查找 .env 文件,而不是固定路径。我暂时没想到这有什么用。。。
还有两处修改,我没看懂。。。
详情参考 https://laravel-news.com/phpdotenv-3-0
支持 Carbon v2
- 默认使用 CarbonImmutable
- 方便做国际化
这两项更改,我都不知道意义何在。。。
Cache TTL 单位由分钟变为秒
这是一个有意义的修改。
因为正常的缓存组件(例如 Redis)都是用的秒,而 Laravel 默认使用分钟作为单位容易出现惯性思维导致的 Bug。
现在,Cache::remember 和 Cache::put 的缓存单位都由分钟变成了秒。
String 和 Array helper 被废弃
laravel 5.9 中将会被移除。
// 废弃
array_add($array, $key, $value);
// 需替换为
Arr::add($array, $key, $value);
这是个悲剧,我还是很喜欢使用 array_add 。。。所以使用框架内置 helper 还是慎重,一调整就带来不必要的迁移工作量。
不再内置 Nexmo / Slack Notification Channels
已被剥离到三方库。
需手动引入 https://laravel.com/docs/5.8/upgrade#nexmo-slack-notification-channels
编译后的 blade 模板,文件头部增加了源 blade 文件的路径
方便调试时,知道这是来自哪个源文件。
效果如 https://laravel-news.com/laravel-5-8-blade-template-file-path
laravel5.8对php版本有要求吗?
PHP >= 7.1.3
参考
https://laravel-news.com/laravel-5-8
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式