Laravel 项目的参数处理应该放在什么位置?

我的项目里,route中有非常多的url和参数,controller的每个method中都需要先find出来一个model,然后才能进行操作。

后来我看到了repository模式,就产生了一个困惑:到底参数处理(也就是从$request->foo_id生成一个$foo)这个环节,应该放在controller的construct函数中(如$this->foo = Foo::find(request()->get('foo_id'))),还是应该放在repository的construct中(方法同上),还是应该在每个函数中都处理一次(如$foo = Foo::find($request->foo_id)),好像怎么写都不太优雅。

欢迎大家踊跃讨论。

打赏
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 4
JeffreyBool

如果要简单的方式可以使用隐形路由的方式. 如在控制器

 public function edit(User $user)
{
  return $user;
}
8年前 评论

@张高元 如果我没记错,这个只是依赖注入,并不能获取到参数对应的model吧

8年前 评论

@FlappyHeart 是可以的,看一下新版本的控制器模型,以前是 id, 现在可以是模型,会自动注入对应 id 本模型的实例。
路由模型

8年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!