Laravel 5.2 即将发布,新版本将会有哪些新特性?
Laravel 5.2 的开发正在紧锣密鼓的进行中,到目前为止一些新的特性已经浮出水面。下面就让我们一起来看看这个即将发布的新版本有哪些新特性(截至目前公布的)。
隐式模型绑定
隐式模型绑定是一项新特性,指的是将模型自动绑定到路由,下面是示例代码:Route::get('/api/posts/{post}', function(Post $post) { return $post; });该场景背后的原理是调用
Post::findOrFail($post)
并且将结果注入到$post
变量。对Laravel老手来说,这和之前的路由模型绑定很类似,但是新版本中移除了手动绑定操作,从而让实现更加简单。
为调度任务追加输出
新版本中Laravel Scheduler可以从任务中追加输出到文件:$schedule->command('emails:send') ->hourly() ->appendOutputTo($filePath);在之前的Laravel版本中,Laravel带了一个
sendOutputTo
选项写入当前结果而不是追加。
表单数组验证
假设你有一个表单,其中包含了一个数组输入字段,就像这样:在Laravel 5.1中添加验证规则需要循环遍历每个输入项然后单独为每个添加规则,现在我们不需要那么做了,只需按照下面这样处理即可:
$v = Validator::make($request->all(), [ 'person.*.id' => 'exists:users.id', 'person.*.name' => 'required:string', ]);
集合通配符
使用集合的时候如果想要拉出指定数据,可以通过传入通配符*
实现:
$posts->pluck(‘posts.*.title’);这样就可以获取所有文章的标题。
数据库Session驱动
数据库session
驱动现在包含了user_id
和ip_address
,因此你可以轻松清除指定用户的所有会话。
MySQL JSON 字段类型
MySQL 5.7.8 添加本地 JSON 数据类型支持, Laravel 5.2 中也将支持这一类型。更多新特性
随着Laravel 5.2的发布日期一天天临近,更多新特性也会被一一公布出来,关注Laravel学院,我们会在第一时间跟进Laravel 5.2的最新动态。本文译自:https://laravel-news.com/2015/11/laravel-5-2-a-look-at-whats-coming/
2 Comments