what's new in laravel 5.4

1 处理空格和空字符串的 Middleware

App\Http\kernel.php里$middleware里添加
1去掉表单里多余的空格.
\App\Http\Middleware\TrimStrings::class
2 使空字符串变为null
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class

2 Higher Order Collection Messages

集合(collection)方法:如each,map的语法糖
'''
$posts = Post::all()
$titles = $posts->each->title;
or when there is a function test in the Post model,you can use like this:
$res = $posts->each->test();
'''

3 Laravel Mix in a Nutshell

前端构建工具 不了解,看不懂.

4 fluent route 路由声明更便捷

以前总是这样去定义一个路由的name;

Route::get('/home',function(){})->name('homepage');

而现在可以写成这样
Route::name('home')->get('/home',function(){});
perfix以及middleware 写法类似

5 resourceful controller with model boilerplate(样板) 资源型控制器绑定model

php artisan make:controller PostController --model='Post'
这样的话我们在function就会得到相应模型的注入

6 blade components and slots blade组件和slot(插槽)

注释:alert是在views下的一个blade页面,slot里的title是一个变量,值为例子里的 '拒绝';

@component('alert')至
@slot('title')
拒绝
@endslot
你没有权限访问这个资源!
@endcomponent

7 markdown mailables markdown格式的邮件

一个mailable的class

8 Real-Time Facades 实时facade

在引用一个class时,加上namespace的前缀:Facades.
比如在Facades\App\Test;
然后就能以静态的方式去调用这个class(Test)里的function.
实际上laravel做了什么呢?
在storage/framework/cache/下创建了一个文件(继承了facade基类),
将上述的class('App\Test')在getFacadeAccessor return,再以__callstatic()调用其instance.

9 laravel Dusk

laravel的单元测试用,具体内容也没讲.
只说了在 how I personally learn laravel Dusk.
JJ FLY~

10 Map Eloquent Events to Dedicated Classes

一个model的$events定义了一些事件,比如create或者created.
当这个model被操作时,就会触发这些事件.

你可能感兴趣的:(what's new in laravel 5.4)