vhraban / blade-string-renderer
关于此包最新版本(dev-master)的许可证信息不可用。
dev-master
2016-08-01 10:17 UTC
Requires
- illuminate/log: ~5
- illuminate/support: ~5
- illuminate/view: ~5
This package is not auto-updated.
Last update: 2024-09-14 19:47:45 UTC
README
Blade模板引擎功能强大且易于使用,但缺乏灵活性。使用blade从字符串渲染模板是不可能的。其设计理念是每个模板都必须是文件系统上的物理文件,如果模板来自数据库或其他地方,那么几乎无法进行非侵入式的操作。
工作原理
它的工作方式相当简单。Blade-string-renderer扩展了Laravel的View Factory,可以像标准视图一样使用。主要区别是它有一个额外的功能,可以从模板字符串生成视图,而不是从模板文件。
Blade-string-renderer完全不侵入。它不干预Blade/Laravel的View Factory内部结构,而是提供了处理此类情况的最简单和最可能长期有效的方法。在视图渲染之前,模板内容(作为字符串传递)被保存到本地文件系统上的一个临时目录中。渲染器然后像往常一样使用存储在临时位置的blade模板继续工作。模板渲染后,临时文件被删除。这种方法虽然简单,但确保尽可能少地修改Laravel View Factory和Blade内部结构,为这样一个常见问题提供了一个健壮且松耦合的解决方案
使用方法
/** * @param BladeStringRenderer\BladeStringFactory $viewFactory */ public function __construct(BladeStringRenderer\BladeStringFactory $viewFactory) { $this->viewFactory = $viewFactory; } /** * Render the template from the template string * * @param string $templateString * @param array $data * * @return string rendered template */ protected function buildFromTemplateString(string $templateString, array $data) { return $this->viewFactory->makeFromTemplateString($templateString, $data)->render(); }
目前还没有测试
即将推出。由于Blade-string-renderer急需使用,因此尚未进行测试。