如何在Laravel 5.1中传递带响应视图的变量?

时间:2017-01-12 08:18:57

标签: php laravel laravel-5.1

我试图在Laravel中传递带有响应视图的变量,但它不允许我这样做。这是我到目前为止所尝试的:

return response(view('home'))->with('name','rocky');

上述方法不起作用,

我试过的第二个如下:

return response(view('home'), ['name','rocky']);

但我不知道如何使用上面的那个?

注意:我不想使用view :: make方法,我想用响应方法传递变量。

5 个答案:

答案 0 :(得分:2)

视图不作为参数传递给response(),它被称为response()上的方法。因此,您需要将代码更改为:

return response()->view('home', ['name' => 'rocky']);

如果您实际上不需要完整的响应对象(您不需要修改标题或任何内容),您只需使用view()辅助方法返回视图对象:

return view('home', ['name' => 'rocky']);

您可以在documentation here中阅读更多内容。

答案 1 :(得分:2)

查看Laravel documentation

return response()->view('hello', ['name' => 'rocky']);

答案 2 :(得分:0)

尝试使用view方法本身。 E.g:

$name = 'rocky';
return view('home', compact('name'));

我的建议是你仔细阅读Laravel文档,掌握PHP的基础知识。 (http://laravel.com/docs/5.1

答案 3 :(得分:0)

你可以试试这个:

$name = 'rocky';
return view('resizeImage',compact('name'));

基本上reponse()将帮助您自定义响应的HTTP状态代码和标头,因此无需使用它。见Documentation

希望这对你有用!

答案 4 :(得分:0)

你可以这样试试,

$name = 'rocky';
return view("folder_name.blade_name", compact("name'));

在您的情况下,blade_name将为home并检查resources文件夹中是否有任何文件夹。

我希望这会奏效。