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)),好像怎么写都不太优雅。

欢迎大家踊跃讨论。

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 4
JeffreyBool

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

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

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

6年前 评论

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

6年前 评论

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