首页 > 编程笔记 > PHP笔记 阅读:9

Laravel view()和with():向视图传递数据(附带实例)

在视图文件中并不能直接访问控制器中的变量,而是需要在控制器中为视图传递数据。使用 view() 函数或 with() 方法可以为视图传递数据,示例代码如下:
// 方式1:通过view()函数的第2个参数传数据
return view(视图文件, 数组);
// 方式2:通过with()方法传数据
return view(视图文件)->with(数组);
// 方式3:通过连续调用with()方法传数据
return view(视图文件)->with(名称, 值)->with(名称, 值)…
在上述代码中,前两种方式是传入数组,将数组中的键作为视图中的变量名,将数组中的值作为视图中的变量值;第 3 种方式是单独传每个变量。

下面演示如何在控制器中向视图传递数据,具体步骤如下:
1) 在 TestController 的 show() 方法中准备一个数组,将其传给视图,具体代码如下:
public function show()
{
    $data = [
        'content' => '文本内容'
    ];
    return view('show', $data);
}
在上述代码中,$data 数组中的每个元素对应视图中的每个变量。

2) 修改 resources\views\show.blade.php 视图文件,输出 $content 的值,具体代码如下:
<body>
  {{ $content }}
</body>

3) 通过浏览器访问,可以看到页面中显示的结果为“文本内容”。

另外,读者也可以尝试将代码换成用 with() 函数来实现,具体代码如下:
return view('show')->with('content', '文本内容');

相关文章