Notice: This package is obsolete as of Laravel 9, which includes this feature as part of the framework. view-string
has been updated to work with Laravel 9, but migrating to use Blade::render()
is extremely easy, so view-string
will not be updated to keep up with future Laravel releases.
You are welcome to continue using, or to copy the class into your code if the "abandoned" packagist status annoys you.
The view()
helper's little brother; a function to compile blade views from strings.
You can install the package via composer:
composer require adamgaskins/view-string
This package allows you to compile a blade template dynamically from a string instead of it being hardcoded in the resources/views
folder of your site. Usually this will look like a trusted user (developer/admin) using an embedded editor to write a blade template which is then saved to the database. You can then easily render the template like so:
$design = Design::find(1);
view_string($design->content, [ 'blogPost' => $post ]);
Or if you want to include it in your blade templates, there's a directive for that:
@includeString($design->content [ 'blogPost' => $post ])
Use view_string
where you'd use view
, and @includeString
where you'd use @include
.
This package uses eval behind the scenes. It is not sandboxed. The goal of this package is to allow developers to write small blade snippets without needing to deploy. I am not responsible for what happens if you let random strangers on the internet run code on your servers.
We use this package at my company to allow us to quickly write tiny snippets of custom elements for our customers, saving us the need to do a full site deploy every time a user requests a change.
composer test
wpb/string-blade-compiler
: A great package that I used for years, and inspired this package. A little bit more opinionated though, the fact that it completely replacesIlluminate\View\View
leads to issues in some random edge cases.
The MIT License (MIT). Please see License File for more information.