【问题标题】:Get url parameter from Service Provider in Laravel从 Laravel 中的服务提供者获取 url 参数
【发布时间】:2016-12-10 09:41:18
【问题描述】:

通常在 Laravel 中,您会得到一个包含所有参数的请求包。但在服务提供商中,情况并非如此。但是我们确实有request() 对象。

但是,这不包含资源路由中给出的url参数。

所以我正在寻找一种从路由中检索 {id} 的方法。

我试过了:

request()->route('id')
Route::get('id')
Request::get('id')

所有这些都返回 null

【问题讨论】:

  • 您能提供您的提供商的代码吗?这样我们才能看到您真正想要实现的目标。
  • 我认为不需要任何代码。我只想在服务提供者中获取一个参数。我不需要解决方法,因为我已经实现了。

标签: php laravel laravel-5


【解决方案1】:

任何服务提供者的 boot()register() 方法都在请求被解析并且请求参数已知之前被调用,这就是你无法访问它们的原因.

服务提供者应该注册服务并且不应该依赖于请求上下文。如果您想在服务中使用请求参数,请将 request 服务声明为服务的依赖项,以便在服务实例化时注入它。

【讨论】:

    猜你喜欢
    • 2015-10-15
    • 2019-07-24
    • 1970-01-01
    • 2015-05-12
    • 2016-12-21
    • 2015-10-24
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多