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