php - Laravel - 在传递给 View 之前编辑数据

标签 php laravel laravel-blade

我正在寻找一种在将数据传递给查看之前对其进行编辑的方法。

快速示例(只是为了演示): 假设我正在传递变量 $name通过 Controller 查看。我想用一些东西来传递另一个变量 $message其中将包含 Hello $name ,例如 Hello John,如果变量 $name将是约翰。

我不想在 Controller 中发送第二个变量,因为我会使用很多 Controller 、 View ,而且我想对数据做的事情相当复杂。

我需要将它用于两个变量 view("foobar", ["foo" => "bar"])和 session view("foobar")->with("foo", "bar") .

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

我现在能想到的唯一可能的解决方案是使用 View 布局,我将包含到每个 View 中,它将转换变量(使用类似于 View 中的 <? $message = "Hello $name"; ?>),但这对我来说似乎不是正确的 MVC 解决方案。

谢谢大家的回答!

最佳答案

如果你想传递 session 数据和多个变量,这样做:

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

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

更新

如果我没理解错的话,你想使用 view composer .

关于php - Laravel - 在传递给 View 之前编辑数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39932663/

相关文章:

php - 如何在 Laravel 中将公用文件夹设为根目录?

php - 在 Blade Laravel 5.3 中显示聚合

php - spl_object_hash 匹配,对象不相同

php - Youtube 数据 API v3 : like comment of another user

php - Laravel 5 Eloquent 模型不让我更新

php - 如何在 Microframework Lumen 中安装 Blade 模板?

php - Laravel-5 如何使用 id 值和 name 值从数据库中填充选择框

PHP 不会解析 MySQL 语句

java相当于php "fnum"unpack函数将十六进制转换为java中的float IEEE 754

javascript - 使用 JavaScript 将 Laravel Blade 模板附加/添加到当前 View