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 中可以用一种类似 unique
和 exists
验证规则 的流畅的语法来指定了:
Rule::dimensions()->minWidth(100)->minHeight(100)->ratio(3/2)
Laravel in 和 not_in 验证
Laravel 的 in
和 not_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
路过 2016/12/16 21:12
评论功能怎么做的不需要登录真的好吗
Specs 2016/12/18 22:32
@ WordPress 的功能
飞檐走沟 2016/12/21 01:53
来看看