Menu

Laravel5.8发布

就在昨天,Laravel发布了5.8版本。此次发布的新版本,除新增了一些新功能外,还修复了一些最新的bug,最重要的是,对框架内核,做了部分的改进。本文将对官方的发布文档进行一个翻译和总结,以方便部分读者。

  首先是新增的一些功能。
  第一个是PHP dotenv。
  PHP dotenv在今年一月初时发布了3.0版本。3.0版本对2.x版本的库做了一些重要的改进。这是一个能从.env自动加载环境变量到getenv(), $_ENV and $_SERVER的库,该类库是Ruby dotenv的PHP版本。用过Laravel的同学都明白.env文件的重要性,得益于PHP dotenv,在Laravel配置环境变量以及使用都是非常简单的。而此次Laravel的升级,也将PHP dotenv 3.0的一些新特性集成到了Laravel中。
  1.在需要去读取或者修改部分环境变量时具有更大的灵活性
  2.支持多行变量
  3.无需对值进行去空格等类似的处理,可以直接得到准确的值
  4.可尝试从路径列表中寻找.env文件,而不仅仅只是单个路径
  5.提供更强大的变量名验证功能以避免产生难以察觉的错误或者导致失败
  第二个是Carbon V2。
  Carbon是一个继承PHP DateTime类的一个类库,是Laravel中用来处理日期时间的一个包。在Laravel5.8中,你可以使用Carbon V1或Carbon V2,包括CarbonImmutable,甚至可以设置CarbonImmutable为默认。在Carbon V2中对本地化做了相当多的改动,比如比V1更好的国际化支持等等。
  第三个是Cache TTL Changes(缓存有效期调整)。
  这个可能是对于本项目最有影响的一个更新了。传递到缓存方法中代表缓存有效期的整形数字的单位现在代表的是秒而不是分了。
  第四个是弃用String以及Array Helpers。
  对于弃用String以及Array Helpers,大可不必惊慌。之所以会选择弃用,是因为与使用相同的类方法相比,它们提供的价值很小(除了风格)。另外,Laravel计划会将Helpers作为一个可选包发布以提供给需要的开发者使用。
  第五个是自动策略类解析。
  从5.8开始,只要授权策略类和模型类在框架约定的位置,就无需在AuthServiceProvider类中注册它们。
  而如果你指定使用非框架约定的位置放置模型和授权策略类,你可以注册一个回调以注册策略类或者继续手动的配置它们。

Gate::guessPolicyNamesUsing(function ($class) {
    // Do stuff
    return $policyClass;
});

  第六个是Nexmo和Slack通知频道。
  这也是一个影响较高的升级点。Nexmo和Slack通知频道已被添加到第一方(first-class)软件包中,如果要在您的项目中使用这些频道,您需要安装以下这些包:

composer require laravel/nexmo-notification-channel
composer require laravel/slack-notification-channel

  第七个是Blade模板文件路径。
  在5.8中编译的模板将会包含模板的文件路径。此项升级提供了可以通过映射到模板为在PhpStorm中用以调试Blade的机会。如果对该项升级有更多的兴趣,可以查看相关的JetBrains issue WI-26476 – Enable php debugging in Blade file
  最后一个是MarkDown文件目录的更改。
  这同样也是一个此次升级中影响比较高的升级点。如果您使用vendor:publish命令来发布您的 Laravel’s Markdown 邮件组件的话,您应该将/resources/views/vendor/mail/markdown重命名为text
  另外,markdownComponentPaths已经被重命名为textComponentPaths,如果要重写此方法,则应更新它的名字以匹配其父级。
  文章最后,官方文档还宣布,伴随此次5.8的发布,5.7版本将不会再接受任何新的bug和升级,当然,5.7仍会接受安全升级直至到今年8月。
  Laravel5.8是Laravel最新的稳定版,团队将对5.8的bug修复和功能升级持续到大约今年8月,而安全维护则会持续到2020年2月。
  最后,这份发布声明仅仅只做了一些简短和部分的介绍,要想对5.8有更多的了解,建议阅读官方文档,中文版的可以在这里查看。同时,限于我本人的水平有限,文中可能存在一些有误之处,还望读者见谅,并建议阅读官方版本为益。

Posted In:
编程语言

暂无评论

添加评论 您的邮箱将会被妥善保存