sngrl/string-blade-compiler

从字符串变量渲染 Blade 模板

dev-master 2016-10-27 08:40 UTC

This package is auto-updated.

Last update: 2024-09-16 02:15:14 UTC


README

Blade 是 Laravel 提供的一个极简单但功能强大的模板引擎。遗憾的是,它默认只能处理硬盘上的文件,而可能需要编译字符串变量的模板。这个包允许生成和返回一个从 Blade 语法模板编译出的视图的通用数组。

这个仓库是 https://github.com/TerrePorter/StringBladeCompiler 的分支,而它又是由 https://github.com/Flynsarmy/laravel-db-blade-compiler 发展而来的,后者使用 Eloquent 模型传递模板。

原始 laravel-db-blade-compiler 作者 - Flyn San (flynsarmy@gmail.com) StringBladeCompiler 作者 - Terre Porter (tporter@webpage-builders.com)

这个包是为了导入到 packagist.org 网站并允许通过 Composer 安装而创建的 (https://getcomposer.org/)。

安装

在您的 composer.json 中要求这个包,并在控制台运行 composer update 命令

	"require": {
        /*** Some others packages ***/
		"sngrl/string-blade-compiler": "dev-master",
	},

或者在控制台直接运行这个命令

composer require sngrl/string-blade-compiler:dev-master

更新 composer 后,将 ServiceProvider 添加到 app/config/app.php 文件中的 "providers" 数组

	'providers' => array(
        /*** Some others providers ***/
        'sngrl\StringBladeCompiler\StringBladeCompilerServiceProvider',
    ),

不需要在同一文件中将 Facade 添加到 aliases 数组,因为这已经在 ServiceProvider 中自动包含了。

用法

这个包提供了一个与 View 同样的语法的 StringView Facade,但接受一个 Array 或 Array Object 实例而不是视图路径。

return StringView::make(
                array(
                    // this actual blade template
                    'template'  => '{{ $token1 }}',
                    // this is the cache file key, converted to md5
                    'cache_key' => 'my_unique_cache_key',
                    // timestamp for when the template was last updated, 0 is always recompile
                    'updated_at' => 1391973007
                ),
                array(
                    'token1'=> 'token 1 value'
                )
        );

强制编译方法

return StringView::force('{{ $token1 }}', array('token1'=> 'token 1 value'));

许可证

string-blade-compiler 是开源软件,许可协议为 MIT 协议