从数据库存储的字符串中扩展刀片模板

时间:2016-07-07 17:21:05

标签: php laravel laravel-5 laravel-5.2 blade

我的问题是我需要将字符串作为参数传递给view,其中包含要渲染的Blade Template标记。我做了我的研究,我相信其他问题与我的有关。因此,以下是我想要实现的目标。

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

因此,以下内容应该适用于page.blade.php

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

或者 Controller 本身的其他一些代码可能没问题,比如我首先调用主布局,然后传递子视图,替换'内容' section。

1 个答案:

答案 0 :(得分:1)

嗯,考虑到社区的反应过度甚至在很多观点之后,我决定去寻找解决办法,直到我找到更好的解决方案。 (Sarcasm打算)

在此处记录,以便为可能尝试相同的人提供线索。

  1. 从主视图扩展子视图(例如 db_master.blade.php
  2. 在您的Controller中,使用将数据库列中的内容放入主视图 db_master.blade.php ) FileSystem 类或 file_put_contents (无论你觉得哪些更安全)。
  3. 现在照常返回子视图
  4. 注意:确保将安全代码传递给主视图(即,让用户访问刀片模板引擎,因为它们可以注入实际的PHP代码)

    请提供反馈和建议。