通常在Laravel中你会得到一个包含所有参数的请求包。但在服务提供商中并非如此。但是我们确实有request()
个对象。
但是,这不包含资源路由中给出的url参数。
所以我正在寻找的是一种从路线中检索{id}的方法。
我试过了:
request()->route('id')
Route::get('id')
Request::get('id')
所有这些都返回null
答案 0 :(得分:4)
在解析请求并知道请求参数之前,会调用任何服务提供商的 boot()和 register()方法,这就是为什么你可以& #39; t访问它们。
服务提供商应该注册服务,不应该依赖于请求上下文。如果您想在服务中使用请求参数,请声明请求服务作为您服务的依赖项,以便在您的服务实例化时注入它。