Laravel Blade String Compiler, render string as blade templates
wpb/string-blade-compiler is a Laravel package for laravel blade string compiler, render string as blade templates.
It currently has 172 GitHub stars and 1.095.802 downloads on Packagist (latest version 6.0.3).
Install it with composer require wpb/string-blade-compiler.
Discover more Laravel packages by wpb
or browse all Laravel packages to compare alternatives.
Last updated
Render Blade templates from string value.
This is a fork from https://github.com/Flynsarmy/laravel-db-blade-compiler which uses Elequent model to pass in a template.
I have reworked it to allow for a generic array of the required fields to generates and return a compiled view from a blade-syntax template.
This version 1 is for Laravel 4.2, version 2 is for Laravel 5.
Add the repository to composer.json:
"repositories": [
{
"name": "wpb/string-blade-compiler",
"url": "https://github.com/TerrePorter/StringBladeCompiler.git",
"type": "git"
}
],
Add the package to composer.json:
"require": {
"laravel/framework": "4.2.*",
"wpb/string-blade-compiler": "1.*@dev"
},
Add the ServiceProvider to the providers array in app/config/app.php
'Wpb\StringBladeCompiler\StringBladeCompilerServiceProvider',
There is no need to add a Facade to the aliases array in the same file as the service provider, this is being included automatically in the ServiceProvider.
This package offers a StringView facade with the same syntax as View but accepts a Array or Array Object instance instead of path to view.
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'
)
);
Also allows for Blade::extend, example :
// allows for @continue and @break in foreach in blade templates
StringView::extend(function($value)
{
return preg_replace('/(\s*)@(break|continue)(\s*)/', '$1<?php $2; ?>$3', $value);
});
string-blade-compiler is open-sourced software licensed under the MIT license