Laravel 9内联叶片模板渲染;呈现常量而不是变量



在Laravel 9中有一个新特性,允许内联叶片模板渲染。链接:https://laravel.com/docs/9.x/blade rendering-inline-blade-templates

假设我有一个值存储在数据库中(作为电子邮件的正文),我想从数据库中呈现为电子邮件。

<p> Dear {{$first_name}} {{$last_name}} </p>

我会用这个;

Blade::render($body, [‘first_name’ => $first_name, ‘last_name’ => $last_name]);

这样我就可以输出类似;

Dear John Doe

在发送的电子邮件正文中。

但是,如果我想使用<p> Dear {{first_name}} {{last_name}} </p>

在我的电子邮件模板中存储在数据库中(没有美元符号,使其成为常量而不是变量)。我如何使用Blade::render()渲染这个常量?

我认为您必须在将输出发送到blade之前操作模板。

Laravel有很多帮助器来做这样的事情。

use IlluminateSupportStr;

$string = '{{first_name}} {{last_name}}';

$replaced = Str::replace('{{', '{{$', $string);
// in $replaced you'll have '{{$first_name}} {{$last_name}}'

以上代码将完成此工作。

相关内容

  • 没有找到相关文章

最新更新