gpt4 book ai didi

php - 在 laravel 中生成 View 时如何使 php 变量保持不变?

转载 作者:搜寻专家 更新时间:2023-10-31 21:19:47 24 4
gpt4 key购买 nike

我尝试从 Controller 生成新的 Blade 文件。那么它是如何工作的。我获取主 Blade 文件并尝试从内容生成器中注入(inject)数据。来自 contentbuilder 的数据是正确的,就像我想要的那样,但是主文件中的所有 {{$vars}} 都转换为字符串而不是 {{$vars}} .例如:

<input type="hidden" id="token" name="_token" value="{{ csrf_token() }}">

变成:

<input type="hidden" id="token" name="_token" value="T4JB7Y1DNdIXsWe4k0AiLUaKtSvoDJwIcSOgGW5e">

我怎样才能避免这种情况?

我试过 ->render() 但结果相同。我试过包含但结果相同。

新的 Blade 文件就是这样生成的。

$page = PagesDetails::where('uuid',$request->page)->first();

File::put(resource_path('views/front/demotest.blade.php'),
view('front.defaultpage',["pagecontent" => $request->item,"settings" => $this->settings,"page"=> $page])

我只想保持 phpvars 不变,以便在页面加载时自动调用它。

这样{{$vars}}就会保留在新生成的 Blade 文件中

我是如何解决这个问题的:因为这里所有的帮助都不完全是我想要的,所以我自己做了一些修改。

首先,数据(从 contentbuilder 接收到的)被保存到一个新的 blade 文件中。然后我做了一个前置文件来添加默认 Blade 文件的第一部分和所有的 php 变量。然后我做了一个附加文件来添加默认 Blade 文件的最后一部分。所以在那之后我有了一个完整的 Blade 文件,就像我用工作的 php 变量手动编写的一样。

最佳答案

使用下一个语法:

<input type="hidden" id="token" name="_token" value="{!! '{{ csrf_token() }}' !!}">

解释:

{!! 'something' !!}

当您使用此语法时,变量不会求值,而是按原样解析。然后你需要放置你想要的字符串表示。因此引用函数/助手。

阅读 docs 中的“显示未转义的数据” .

关于php - 在 laravel 中生成 View 时如何使 php 变量保持不变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55533286/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com