Laravel 实现Controller向blade前台模板赋值的四种方式

本文将为大家详细介绍Laravel 实现Controller向blade前台模板赋值的四种方式。

## 1. 传统方式

传统的方式就是在controller中使用 *View::make* 去渲染视图,同时将数据通过数组的方式传递给blade模板。这种方式在l5中仍然可用,但是不推荐使用。

```php

/**

* 显示指定用户的数据

*

* @param int $id

* @return Response

*/

public function show($id)

{

// 获取某个用户的信息

$user = User::findOrFail($id);

// 单个变量

return view('user.show', ['user' => $user]);

// 多个变量

return view('user.show', ['user' => $user, 'otherData' => $otherData]);

}

```

## 2. compact函数

compact函数可以在controller中以更为简便的形式把变量传递给blade。

```php

public function index()

{

$users = User::all();

return view('user.index', compact('users'));

}

```

## 3. with方法

with方法可以在controller中把变量传递给blade。

```php

public function index()

{

$users = User::all();

return view('user.index')->with('users', $users);

}

```

可以看出,with方法和compact方法在传递变量时效果类似,但是更推荐使用with方法。因为with方法的可读性更好,可以使代码更易于理解。

## 4. view方法的第二个参数

在controller中还可以直接在使用 *View* 类时传递变量。

```php

public function index()

{

$users = User::all();

return view('user.index', ['users' => $users]);

}

```

和传统方式类似,但是它会调用Illuminate\View\Factory类的make()方法来自动实例化视图。

## 总结

本文为您介绍了Laravel 实现Controller向blade前台模板赋值的四种方式,包括传统方式、compact函数、with方法和view方法的第二个参数。每种方式各有优缺点。因此,您需要根据实际情况选择最佳方式。

感谢阅读本文,如有疑问请在评论区留言。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签