V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nonfu
V2EX  ›  PHP

Laravel 5.8 正式发布了,一起来看看有哪些新特性吧!

  •  
  •   nonfu · 2019-02-27 09:48:05 +08:00 · 5333 次点击
    这是一个创建于 2087 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Laravel 5.8 在美国时间 2019 年 2 月 26 号正式发布了,该版本引入了一些新特性以及最新的 bug 修复,并对框架核心代码做了优化。

    这些新特性包括:

    PHP dotenv

    Laravel 5.8 集成了 PHP dotenv 3.0,并引入了如下相关新特性:

    • 当我们试图读取和修改部分环境变量时更加灵活;
    • 支持多行变量;
    • 不再清除变量值两边的空格,配置什么就会得到什么;
    • 可以尝试从路径列表中查找 dotenv 文件,而不是单个路径;
    • 更强大的变量名验证以便避免静默失败和模糊错误

    Carbon v2

    Laravel 5.8 中可以使用 Carbon v1 或 Carbon v2,包括 CarbonImmutable,甚至将其设置为默认值。在 Carbon v2 中,本地化功能做了很大的调整,从而相比 v1 而言提供更好的国际化支持。

    缓存有效期调整

    对现有项目影响较大的一个更新恐怕就是缓存有效期的调整,传递到缓存方法的表示有效期的整型数字单位从分钟变成了秒,如果你的代码中使用了缓存有效期,需要检查一下并做修改,以符合你编写代码时的预期。此外,你还可以使用 DateInterval 实例实现相同的目的。

    相关教程:Laravel 5.8 新特性系列 —— 缓存有效期单位调整

    废弃字符串和数组辅助函数

    对于 Laravel 5.8 中废弃字符串和数组辅助函数这件事,不要过于惊慌,与使用相应的类方法相比,辅助函数提供的价值很小(除了你所习惯的代码风格),并且 Laravel 官方也计划以可选扩展包的方式发布这些辅助函数,如果你想要继续使用它们的话,可以通过扩展包的方式引入。

    相关教程:Laravel 5.8 新特性系列 —— 废弃全局的字符串和数组相关辅助函数

    自动策略类解析

    从 Laravel 5.8 开始,只要授权策略类和模型类在框架约定的位置,就不必在 AuthServiceProvider 类中显式注册它们。

    如果你不想安装约定路径来存放模型类和授权类,可以注册一个回调来实现策略类的自动解析:

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

    相关教程:Laravel 5.8 新特性系列 —— 支持策略类自动解析功能

    更多新特性

    从今天开始,Laravel 5.7 将不再进行 bug 修复和功能更新,不过,还是会进行安全更新直到 2019 年 8 月。

    Laravel 5.8 是最新的稳定版本(不是 LTS 版本),并且会接受 bug 修复和功能更新直到 2019 年 8 月,安全更新则会持续到 2020 年 2 月。

    了解更多

    更多 Laravel 5.8 的功能特性更新,请参考官方文档

    第 1 条附言  ·  2019-02-27 10:21:24 +08:00
    PS:本文翻译自 Laravel News,原文地址:<https://laravel-news.com/laravel-5-8>
    17 条回复    2019-02-28 10:37:40 +08:00
    xnode
        1
    xnode  
       2019-02-27 09:55:56 +08:00
    看起来没有大的变更
    sobigfish
        2
    sobigfish  
       2019-02-27 10:01:35 +08:00
    请参考官方文档 结果链接到他自己的网站😂
    看样子是翻译的 https://laravel-news.com/laravel-5-8 但是没有原文链接 🤷‍♂️
    nonfu
        3
    nonfu  
    OP
       2019-02-27 10:19:48 +08:00
    @xnode 嗯 日常迭代版本 了解下即可
    augustpluscn
        4
    augustpluscn  
       2019-02-27 10:20:57 +08:00   ❤️ 1
    我居然还在用 5.5。[手动滑稽]
    nonfu
        5
    nonfu  
    OP
       2019-02-27 10:23:08 +08:00
    @augustpluscn 没毛病 毕竟是 LTS 版本 可以等下一个 LTS 版本再更
    oops1900
        6
    oops1900  
       2019-02-27 10:26:11 +08:00
    支持支持。
    xnode
        7
    xnode  
       2019-02-27 11:15:11 +08:00
    @nonfu laravel 有没有提高性能的解决方式
    66beta
        8
    66beta  
       2019-02-27 11:28:49 +08:00 via Android
    上一次用还是 4.X,lumen 2.x
    mamahaha
        9
    mamahaha  
       2019-02-27 11:48:05 +08:00
    哇,5.7 刚刚上手,又来新的啦。
    nonfu
        10
    nonfu  
    OP
       2019-02-27 12:54:16 +08:00
    nonfu
        11
    nonfu  
    OP
       2019-02-27 12:54:56 +08:00
    @66beta 你这上一次有点久远。。。
    nonfu
        12
    nonfu  
    OP
       2019-02-27 12:55:26 +08:00
    @mamahaha 没什么重大更新 看看就好
    eslizn
        13
    eslizn  
       2019-02-27 12:57:38 +08:00
    @xnode laravel+swoole 不过适配会有很多问题
    helone
        14
    helone  
       2019-02-27 13:00:34 +08:00
    5.7 已经升级了,感觉常用的就是缓存时间和数组、字符串辅助函数那两块的变更
    Egfly
        15
    Egfly  
       2019-02-27 13:52:50 +08:00 via iPhone
    Emmm,这次没啥大更新。不过删掉字符串和数组的辅助函数是出于什么考虑?鼓励大家用 collect,还是鼓励用原生函数?
    guangzhouwuyanzu
        16
    guangzhouwuyanzu  
       2019-02-27 14:24:46 +08:00
    我司还在用 php5.4 + smarty

    = .=
    guanhui07
        17
    guanhui07  
       2019-02-28 10:37:40 +08:00
    在用 laravel5.7
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1016 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:50 · PVG 05:50 · LAX 13:50 · JFK 16:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.