enflow / twig-blade-loader
Load Blade into your Twig templates
Fund package maintenance!
enflow.nl/contact
Installs: 3 342
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 4
Forks: 0
Open Issues: 1
Requires
- php: ^8.2
- illuminate/support: ^10.0|^11.0
- illuminate/view: ^10.0|^11.0
Requires (Dev)
- laravel/pint: ^1.0
- orchestra/testbench: ^8.0|^9.0
- phpunit/phpunit: ^10.5|^11.0
- rcrowe/twigbridge: ^0.14.1
Suggests
- rcrowe/twigbridge: For adding Twig support to your Laravel application
This package is auto-updated.
Last update: 2024-10-08 18:48:02 UTC
README
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.
Installation
You can install the package via composer:
composer require enflow/twig-blade-loader
Usage
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
.
Example
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.
Variables
You may choose to pass along extra variables to your Blade logic:
{% blade with {fieldName: 'avatar'} %} <x-media-library-attachment :name="$fieldName"/> {% endblade %}
Caveat
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 %}
Testing
$ composer test
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email michel@enflow.nl instead of using the issue tracker.
Credits
About Enflow
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.
License
The MIT License (MIT). Please see License File for more information.