Laravel 5.8新版本发布,集成 PHP dotenv 3.0

一些新功能:

集成了 PHP dotenv 3.0

随之而来的新特性使 .env 的配置更加灵活:

支持了多行变量。例如

LOCATION="烟台
开发区"

不再对配置字符串进行 trim 操作。

可配置从一堆路径中查找 .env 文件,而不是固定路径。我暂时没想到这有什么用。。。

还有两处修改,我没看懂。。。

支持 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//upgrade#nexmo-slack-notification-channels

编译后的 blade 模板,文件头部增加了源 blade 文件的路径

方便调试时,知道这是来自哪个源文件。

THE END