Laravel v5.3.19 正式发布,包含一些小的改动和优化
Laravel 最近发布了 5.3.19 版本,该版本包含一些小的改动和代码优化,以及对中间件排序进行了重写,以便调用带参数的中间件可以正常工作。
PHP Artisan make:model
添加到该版本的一个新功能是在通过Artisan创建新模型时指定对资源控制器的创建。也就是说,你可以通过一个-c
或者--controller
选项到make:model
命令来指定要创建对应的资源控制器:
php artisan make:model Post --controller
Laravel 图片尺寸验证
Laravel 5.3 的一个新特性是通过验证器验证图片以确保它们满足特定尺寸,这可以通过一个字符串格式的规则来设置:
'avatar' => 'dimensions:min_width=100,min_height=200,ratio=3/2'
在 Laravel 5.3.19 中,这可以通过一个类似唯一存在验证规则的语法来指定:
Rule::dimensions()->minWidth(100)->minHeight(100)->ratio(3/2)
Laravel验证规则 in 和 not_in
in
和 not_in
验证规则现在可以接收数组输入:
// Previous in:php,laravel,... // New Rule::in(['php','laravel'])
not_in
也是一样:
// Previous not_in:php,laravel,... // New 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
要获取最新版本的Laravel,需要运行composer update
,你也可以在changelog这里查看完整的修改列表。
No Comments