Laravel - 在传递给视图之前编辑数据

时间:2016-10-08 13:00:47

标签: php laravel blade

我正在寻找一种在传递视图之前编辑数据的方法。

快速示例(仅用于演示): 让我们说我通过控制器将变量$name传递给视图。我想使用某些东西来传递另一个包含$message的变量Hello $name,例如 Hello John ,如果变量$name是John。

我不想在控制器中发送第二个变量,因为我会使用很多控制器,视图以及我想对数据做的事情相当复杂。

我需要对变量view("foobar", ["foo" => "bar"])和会话view("foobar")->with("foo", "bar")使用它。

我已尝试同时使用中间件服务提供商,但问题是我无法访问已发送的数据。

我现在能想到的唯一可行的解​​决方案是使用查看布局,我将包含添加到每个视图中,这将转换变量(在视图中使用<? $message = "Hello $name"; ?>之类的东西),但这对我来说似乎不是正确的MVC解决方案。

谢谢大家的答案!

1 个答案:

答案 0 :(得分:1)

如果要传递会话数据和多个变量,请执行以下操作:

session()->flash('message', 'some message');

return view('foobar', [
    'foo' => 'bar',
    'second' => 'something'
]);

<强>更新

如果我理解正确,您想使用view composer