从数据库存储的字符串扩展边栏选项卡模板


Extend Blade Template from Database stored string

我的问题是我需要将字符串作为参数传递到查看,其中包含要渲染的刀片模板标签。我已经做了研究,我相信提出的其他问题与我的问题无关。因此,以下是我想要实现的目标。

我想从数据库中检索主布局并从中扩展子视图。所以在我的例子中,要传递给 view() 方法的视图需要从数据库中的字符串扩展。

所以像下面这样的东西应该在page.blade中工作.php

@extends("<html>@yield('content')</html>") ---> the string shall be passed from database.
@section('content')
...
...
@endsection

或者控制器本身的其他一些代码可能没问题,例如我首先调用主布局,然后传递给子视图,该视图替换了"内容"部分。

好吧,考虑到即使在许多观点之后,社区的反应仍然令人不知所措,我决定采取变通办法,直到找到更好的解决方案。(有意讽刺)

在这里记录下来,以便为那些可能正在尝试的人提供线索。

  1. 从主视图扩展子视图(例如db_master.blade.php
  2. 在控制器中,使用 FileSystem 类或 file_put_contents(无论您觉得更安全的任何内容)将数据库列中的内容放入主视图db_master.blade.php)。
  3. 现在像往常一样返回子视图
注意

:确保将安全代码传递到主视图(即,注意让用户访问刀片模板引擎,因为他们可以注入实际的 php 代码)


请帮助提供反馈和建议。