我想将我的刀片模板保存到数据库,因为每个页面的页眉和页脚都可以为用户自定义.我想让我的用户自己创建布局,然后对于给定用户的每个请求,我想使用该用户指定的布局来提供页面.
控制器传递的必要变量将在文档中提供给它们.
注意:我相信我的用户.他们都是项目的利益相关者,并且是程序员,因此服务器端代码执行是可以接受的.
解决方法:
我意识到如果我只让他们插入静态内容,我可以提高安全性和缓存.我唯一需要改变的是主要内容,所以我可以让他们设置一个令牌来放置内容.正如@ huzaib-shafi上面的回答,我做了以下……
//In controller
$content = View::make('final',compact('data'));
$token = "
$scripts = View::make('final_scripts',compact('data'));
$view = str_replace_first("", $content, $templateInDatabase);
$view = str_replace_first("", $token, $view);
$view = str_replace_first("", $scripts, $view);
return $view;
这会强制他们在他们的模板中使用bootstrap,因为我在我的刀片模板中使用了引导程序样式,但在我的情况下它是可以接受的.
标签:php,laravel,laravel-5,blade
来源: https://codeday.me/bug/20191009/1876719.html