gpt4 book ai didi

php - 使用 $input->all() 而不是 Input::all() Laravel-5

转载 作者:可可西里 更新时间:2023-11-01 13:47:02 26 4
gpt4 key购买 nike

我正在尝试在 Laravel-5 中使用 $input->all() 而不是 Input::all() ,但它似乎没有喜欢它,即使我将输入引用传递给函数,如下所示:

/**
* Search for a specified resource.
*
* @return Response
*/
public function search(Booking $booking, Input $input)
{
dd($input->all()); // this doesn't work

dd(Input::all()); // this DOES work

}

我得到的错误是:

调用未定义的方法 Illuminate\Support\Facades\Input::all()

有没有人能解决这个问题?

最佳答案

我认为您不应该将 Facades 注入(inject)到您的 Controller 中。 InputIlluminate\Http\Request 的外观,它的服务容器绑定(bind)是 request。所以根据文档,在 Laravel 5 中你可以执行 Request::all() 而在 Laravel 5.1 中你可以执行 $request->all()

http://laravel.com/docs/5.0/requests#retrieving-input http://laravel.com/docs/5.1/requests#retrieving-input

编辑:这篇文章提供了一些更深入的信息:https://stackoverflow.com/a/29961400/2433843

EDIT3:我认为如果有人可以解释为什么您不能将 Facades 注入(inject)到您的 Controller 中,那就太好了。我理解 DI 和 Facades 是完全不同的两个东西,L5+ 正在插入开发人员转向 DI。我只是不完全理解为什么注入(inject)外观不起作用,因为它指向另一个类,并且在您不注入(inject)它时它会起作用。不要忘记 Facades 和 Aliases 也是两个独立的东西。我希望有人可以详细说明这一点。

关于php - 使用 $input->all() 而不是 Input::all() Laravel-5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31142292/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com