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

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

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

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

我需要将这个用于变量视图(“foobar”,[“foo”=>“bar”])和会话视图(“foobar”) – > with(“foo”,“bar”).

我曾尝试使用中间件和服务提供商,但问题是我无法访问发送的数据.

我现在能想到的唯一可能的解决方案是使用View布局,我将要包含在每个视图中,并将转换变量(使用类似&lt ;? $message =“Hello $name”;?>在视图中),但这对我来说似乎不是正确的MVC解决方案.

谢谢大家的答案!

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

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

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

更新

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

点赞