如何将Model类作为参数传递,以便函数可以调用类的方法?

时间:2015-08-11 05:33:34

标签: php laravel-5

我很高兴在Laravel 5中使用它,但我认为它也是一个普通的php问题。

我认为index()函数中的代码非常通用,我可能会在每个模型中的每个index()函数中使用相同的代码。

我重构了它们并留在最后一部分:

public function index() {
    $users = User::paginate($this->paginateItemLimit());
    return $this->successResponder->respondWithPaginator($users);
}

现在,如何更进一步简单地拨打电话:

public function index() {
    $this->modelIndex(Model);
}

我想也许类可以通过User::class传递,但我如何在函数中使用它?

1 个答案:

答案 0 :(得分:1)

您应该创建自己的基本控制器(如BaseController),从Controller扩展它并添加一个像

这样的方法
public function modelIndex($model) {
return $this->successResponder->respondWithPaginator(
$model::paginate($this->paginateItemLimit())
);
}