The enflow/twig-blade-loader
package provides the option to load Blade syntax into your Twig files. Mostly used for importing Blade Components from third-parties into your Twig-only application.
You can install the package via composer:
composer require enflow/twig-blade-loader
The Twig extension will automatically register when rcrowe/twigbridge
is used.
If you're using another configuration, you may wish to register the extension manually by loading the extension Enflow\TwigBladeLoader\TwigBladeLoaderExtension
.
Take for instance, you have your Twig file, but you wish to include the https://medialibrary.pro/ library from Spatie. This only includes Blade Component syntax:
<x-media-library-attachment name="avatar"/>
You can use the {% blade %}
syntax for this.
{% blade %}<x-media-library-attachment :name="$fieldName"/>{% endblade %}
That's it! Your variables are automatically passed along from your global scope, and available to pass along.
You may choose to pass along extra variables to your Blade logic:
{% blade with {fieldName: 'avatar'} %}
<x-media-library-attachment :name="$fieldName"/>
{% endblade %}
There is one big caveat though: Blade variables. As the syntax for rendering Blade variables is the same as Twig's, this conflicts. You may use the 'verbatim' class to work around this:
{% blade with {'name': 'name-in-verbatim'} %}
{% verbatim %}
{{ $name }}
{% endverbatim %}
{% endblade %}
$ composer test
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Enflow is a digital creative agency based in Alphen aan den Rijn, Netherlands. We specialize in developing web applications, mobile applications and websites. You can find more info on our website.
The MIT License (MIT). Please see License File for more information.