首页 » Web技术 » Laravel » 正文

Laravel v5.3.19 正式发布了

Laravel v5.3.19 正式发布了,包含了一些小的改动和提升,以及中间件顺序的完全重写,以便带参数中间件可以正常的运行。

PHP Artisan make:model

一个新添加的功能是在使用 Artisan 命令创建 Model 的同时可以指定创建一个资源控制器。这意味着你可以给 make:model 传递一个 -c--controller 参数。

php artisan make:model Post --controller

Laravel 图片尺寸验证

Laravel v5.3 一个新的功能是验证图片文件满足特定的尺寸,验证规则可以写为下面的字符串格式:

'avatar' => 'dimensions:min_width=100,min_height=200,ratio=3/2'

现在,在 v5.3.19 中可以用一种类似 uniqueexists 验证规则 的流畅的语法来指定了:

Rule::dimensions()->minWidth(100)->minHeight(100)->ratio(3/2)

Laravel in 和 not_in 验证

Laravel 的 innot_in 验证可以接受传递一个数组的能力:

// 之前
in:php,laravel,...
// 现在
Rule::in(['php','laravel'])

// 之前
not_in:php,laravel,...
// 现在
Rule::notIn(['php', 'laravel'])

两种样式都是有效的,并且新的基于对象的样式会解析为旧的样式,所以你可以根据自己的喜好自由选择。

验证后的钩子

现在你的控制器可以有一个 withValidator 方法,以便在验证之后调用任何钩子:

protected function withValidator($validator) 
{
  $validator->after(function($validator) {
    if ($this->somethingElseIsInvalid()) {
        $validator->errors()->add('field', 'Something is wrong with this field!');
    }
  });
}

之前如果你想在验证后使用一个钩子,那必须在使用前手动的设置 $validator = Validator::make(),这就意味着你失去了利用 ValidatesRequests trait 的能力。

升级 Laravel

想要获取这个最新版本,你只需运行 composer update,你可以在 ChangeLog 中看到完整的变更列表。

via: laravel-news

本文共 3 个回复

  • 路过 2016/12/16 21:12

    评论功能怎么做的不需要登录真的好吗

  • 飞檐走沟 2016/12/21 01:53

    来看看

发表评论