Laravel在Filter之前弃用

时间:2015-11-24 14:16:38

标签: php laravel-5.1

不要重复搜索用户我有以下代码,但lalavel 5.1 beforeFilter已弃用。如何更换它。

函数find仅适用于编辑,更新和销毁方法

class UserController extends Controller {

private $user;

public function __construct(){

    $this->beforeFilter('@find',['only' => ['edit', 'update', 'destroy']]);

}

public function find(Route $route){
    $this->user = User::find($route->getParameter('user'));
}

...


public function edit()
{
    return view('usuario.edit', ['user' => $this->user]);
}

public function update(UserUpdateRequest $request)
{
    $this->user->fill($request->all());
    $this->user->save();
    Session::flash('message', 'Ok update');
    return Redirect::to('/user');
}


public function destroy()
{
    $this->user->delete();
    Session::flash('message', 'delete ok');
    return Redirect::to('/user');
}

1 个答案:

答案 0 :(得分:2)

beforeFilter()(以及所有过滤器)已被中间件取代。总的来说,它是一个新的应用程序层,您应该read the documentation来解决您的特定用例,但语法和功能非常相似:

// Before
$this->beforeFilter('filtername', [...options...]);
// After
$this->middleware('middlewarename', [...options...]);