LaravelPackages.net
Acme Inc.
Toggle sidebar
wpb/string-blade-compiler

Laravel Blade String Compiler, render string as blade templates

1.095.802
172
6.0.3
About wpb/string-blade-compiler

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

String Blade Compiler

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.

Version

This version 1 is for Laravel 4.2, version 2 is for Laravel 5.

Installation

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.

Usage

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);
                        });

License

string-blade-compiler is open-sourced software licensed under the MIT license

Comments