Laravel 5.2 即将到来

Laravel 5 2 已经发布!它带来了哪些新特性?我们根据 Laravel 创始人 Taylor Otwell 在 Twitter 上发布的推文一起来梳理一下吧:

 

中间件组(Middleware Groups)

 

中间件组也许是你最希望得到的新特性,这一特性允许你为路由(route)设置一组中间件:

支持 MySQL 的 JSON 字段类型

 

MySQL 5.7.8 新增了原生 JSON 字段类型。Laravel 5.2 也能够支持这种原生的 JSON 字段类型了。

表单数组校验(Form Array Validation)

 

假如你创建了一个表单,里面包含一组 input 用于提交数据:

<p>

    <input type="text" name="post[1][id]">

    <input type="text" name="post[1][title]">

p>

<p>

     <input type="text" name="post[2][id]">

     <input type="text" name="post[2][title]">

p>

 

    

在 Laravel 5.1 时代如果要添加校验规则的话需要遍历各个数组项并挨个添加校验规则。Laravel 5.2 就简化多了,你可以像下面这样方便的操作了:

Validator::make($request->all(), [

    'post.*.id' => 'exists:posts.id',

    'post.*.title' => 'required:string',

]);

增强数据库 Session 驱动

 

数据库 session 驱动添加了 userid 和 ipaddress 字段,这样你就可以方便地清除某个用户的所有 session 数据了。

集合通配符(Collections Wildcards)

 

当使用 collection(集合)的时候,如果你希望提取一组数据,在 Laravel 5.2 中你可以用 * 号通配符了:

$posts->pluck(‘posts.*.title’);

上述代码将返回所有 post 的 title 数据。

认证视图(view)生成器

 

身份认证、用户注册和密码重置这些标准化视图(view)文件通过下面这一条命令就全帮你搞定了!就是这么简单!!!

php artisan make:auth  

隐式模型绑定

 

隐式模型绑定是 Laravel 5.2 中新增的一个特性,这一特性能够自动将模型绑定到路由上。如下实例:

Route::get('/api/posts/{post}', function(Post $post) {  
    return $post;
});

Laravel 内部将调用 Post::findOrFail($post) 并自动将运行结果注入到 $post 变量中。