Laravel 5.5 LTS 正式发布,Whoops Package 回归 - 开源中国社区
Laravel 5.5 LTS 正式发布,Whoops Package 回归
王练 2017年08月31日

Laravel 5.5 LTS 正式发布,Whoops Package 回归

王练 王练 发布于2017年08月31日 收藏 8


Laravel 5.5 已发布,这是最新的长期支持版本(LTS),包含多项改进。

发行说明:https://laravel-news.com/laravel-5-5

部分亮点:

Whoops Package 回归

filp / whoops package 曾经出现在 V4 系列,用于在调试时提供优雅的堆栈跟踪,是一个错误处理框架。Laravel 5.5 版本 Whoops Package 正式回归。


Exception Rendering

5.5 无需额外的逻辑,可直接抛出异常,并进行响应:

<?php

// throw new TerribleSongException($song) in a controller...

namespace App\Exceptions;

use App\Song;

class TerribleSongException extends \Exception
{
    /**
     * @var \App\Song
     */
    protected $song;

    public function __construct(Song $song)
    {
        $this->song = $song;
    }

    /**
     * @param \Illuminate\Http\Request $request
     */
    public function render($request)
    {
        return response("The song '{$this->song->title}' by '{$this->song->artist}' is terrible.");    
    }
}

自定义验证规则对象

Laravel 5.5 带来新的自定义验证规则对象,以此作为 Validator::extend 的替代方法。新规则的逻辑更一目了然:

<?php

namespace App\Rules;

use Illuminate\Contracts\Validation\Rule;

class CowbellValidationRule implements Rule
{
    public function passes($attribute, $value)
    {
        return $value > 10;
    }

    public function message()
    {
        return ':attribute needs more cowbell!';
    }
}

使用新规则后:

<?php

request()->validate([
    'cowbells' => [new CowbellValidationRule],
    'more_cowbells' => [function ($attribute, $value, $fail) {
        if ($value <= 10) {
            $fail(':attribute needs more cowbell!');
        }
    }]
]);

Blade::if () 指令

新的指令包括 @auth and @guest

@auth
    Welcome {{ user()->name }}!
@endauth

@guest
    Welcome Guest!
@endguest

新的迁移命令:Fresh

新的 migrate:fresh 命令会直接删除所有的表,然后运行迁移。通常在开发过程中,你也只需删除表,获取新数据库,和运行迁移。

更多细节请直接查看发行说明

Laravel 5.5 更多链接:

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Laravel 5.5 LTS 正式发布,Whoops Package 回归
分享
评论(17)
精彩评论
11
相对而言,更喜欢yii
5
Symfony
1
php是最好的语言!!laravel如果要做最好的框架,但php5已经不再支持,会有很多人不再使用吧,毕竟php7的使用都还没有绝对超过php5
最新评论
0
laravel越来越像java,何必咧,直接用java不就行了么?
0
已更新一个项目测测
0
各种包 不支持5.5. 还要坐等。。。
0
恩,可以支持,后面的项目准备就用这个版本了.
0
越来越卡。。。
5
Symfony
0
前人栽树,后人乘凉,老司机们先趟一波,等资料多了再去看,这段时间熟悉下java~~~
0
5.2
1
php是最好的语言!!laravel如果要做最好的框架,但php5已经不再支持,会有很多人不再使用吧,毕竟php7的使用都还没有绝对超过php5
0

引用来自“yak”的评论

原来的项目用的lavarel3 怎么升级, 还是重新写一遍吗?
重新改过laravel4,框架代码真心烂。
0
留名
0
原来的项目用的lavarel3 怎么升级, 还是重新写一遍吗?
11
相对而言,更喜欢yii
0
又可以玩了。
0

引用来自“进击的代码”的评论

矮油,终于打不开呃
终于发布了呃
0
矮油,终于打不开呃
0
火钳刘明
顶部