我正在寻找一种在传递视图之前编辑数据的方法。
快速示例(仅用于演示):
让我们说我通过控制器将变量$name
传递给视图。我想使用某些东西来传递另一个包含$message
的变量Hello $name
,例如 Hello John ,如果变量$name
是John。
我不想在控制器中发送第二个变量,因为我会使用很多控制器,视图以及我想对数据做的事情相当复杂。
我需要对变量view("foobar", ["foo" => "bar"])
和会话view("foobar")->with("foo", "bar")
使用它。
我已尝试同时使用中间件和服务提供商,但问题是我无法访问已发送的数据。
我现在能想到的唯一可行的解决方案是使用查看布局,我将包含添加到每个视图中,这将转换变量(在视图中使用<? $message = "Hello $name"; ?>
之类的东西),但这对我来说似乎不是正确的MVC解决方案。
谢谢大家的答案!
答案 0 :(得分:1)
如果要传递会话数据和多个变量,请执行以下操作:
session()->flash('message', 'some message');
return view('foobar', [
'foo' => 'bar',
'second' => 'something'
]);
<强>更新强>
如果我理解正确,您想使用view composer。