Laravel 5.2中的替换方法

时间:2015-12-26 21:09:55

标签: php laravel

通过Controller的自定义替换方法是什么,因为不推荐使用beforeFilter方法:

public function __construct()
{
    $this->beforeFilter('@GetParameter', ['only' => ['show', 'edit', 'update', 'destroy']]);
}

public function GetParameter(Route $route)
{
    $this->parameters = Parameter::findOrFail($route->getParameter('parameters'));
}

1 个答案:

答案 0 :(得分:3)

关于更换过滤器,您可以使用中间件

Laravel Docs - Middleware

Laravel Docs - Controller Middleware

public function __construct()
{
    $this->middelware('yourmiddleware', ['only' => ['show', 'edit', ...]]);
}

<强>更新

看到你的代码后,我认为你根本不需要过滤器/中间件。看起来您正在重新创建Route model binding的功能。

示例(使用隐式绑定):

Route::get('user/{user}', 'UserController@show');

// UserController
public function show(User $user)
{
    // $user is a User model that was resolved by its primary key
}