adamgaskins/view-string

此包已被废弃,不再维护。作者建议使用 Laravel 9的Blade::render() 包代替。

view() 辅助函数的小伙伴;一个从字符串编译blade视图的函数。

v1.3.0 2022-05-03 17:54 UTC

This package is auto-updated.

Last update: 2022-06-07 21:19:39 UTC


README

注意:由于Laravel 9已包含此功能,该包已过时。 view-string 已更新以支持Laravel 9,但由于迁移到使用 Blade::render() 非常简单,因此 view-string 将不会更新以跟进未来的Laravel版本。

如果您不喜欢“已废弃”的packagist状态,欢迎继续使用或将类复制到您的代码中。

screenshot.png

view() 辅助函数的小伙伴;一个从字符串编译blade视图的函数。

68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6164616d6761736b696e732f766965772d737472696e672e7376673f7374796c653d666c61742d737175617265 68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f6164616d6761736b696e732f766965772d737472696e672f54657374733f6c6f676f3d476974687562267374796c653d666c61742d737175617265266c6162656c3d7465737473

安装

您可以通过composer安装此包

composer require adamgaskins/view-string

使用方法

此包允许您从字符串动态编译blade模板,而不是将其硬编码在网站的 resources/views 文件夹中。通常,这看起来像是一个可信的用户(开发人员/管理员)使用嵌入的 编辑器 编写blade模板,然后将其保存到数据库中。然后您可以轻松地按如下方式渲染模板

$design = Design::find(1);

view_string($design->content, [ 'blogPost' => $post ]);

或者,如果您想将其包含在blade模板中,有一个指令可以这样做

@includeString($design->content [ 'blogPost' => $post ])

在您使用 view 的地方使用 view_string,在您使用 @include 的地方使用 @includeString

eval

此包在后台使用eval。它不是沙盒化的。此包的目的是允许开发人员编写小型blade片段而无需部署。我不负责您允许互联网上的陌生人运行您的服务器上的代码时发生的情况。

我们在我公司使用此包来快速编写为我们的客户编写的自定义元素的小片段,这样每次用户请求更改时,我们就不需要做完整的网站部署。

测试

composer test

相关

  • wpb/string-blade-compiler:这是一个我使用多年的优秀包,也是此包的灵感来源。但它的观点有点偏执,因为它完全替换了 Illuminate\View\View,导致在一些随机边缘情况中出现了 问题

许可证

MIT许可证(MIT)。请参阅 许可证文件 以获取更多信息。