enflow / twig-blade-loader
将Blade语法加载到您的Twig模板中
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-09-08 18:41:16 UTC
README
enflow/twig-blade-loader
包提供了将Blade语法加载到您的Twig文件中的选项。主要用于将第三方Blade组件导入到仅使用Twig的应用程序中。
安装
您可以通过composer安装此包
composer require enflow/twig-blade-loader
使用方法
当使用 rcrowe/twigbridge
时,Twig扩展会自动注册。如果您使用其他配置,您可能需要手动注册扩展,通过加载扩展 Enflow\TwigBladeLoader\TwigBladeLoaderExtension
。
示例
例如,您有一个Twig文件,但您希望包含Spatie的https://medialibrary.pro/库。这仅包括Blade组件语法:<x-media-library-attachment name="avatar"/>
您可以使用 {% blade %}
语法来实现。
{% blade %}<x-media-library-attachment :name="$fieldName"/>{% endblade %}
就是这样!您的变量会自动从全局作用域传递,并且可用。
变量
您可以选择将额外的变量传递到Blade逻辑中
{% blade with {fieldName: 'avatar'} %} <x-media-library-attachment :name="$fieldName"/> {% endblade %}
注意事项
不过有一个大问题:Blade变量。由于渲染Blade变量的语法与Twig相同,这会导致冲突。您可以使用 'verbatim' 类来解决这个问题
{% blade with {'name': 'name-in-verbatim'} %} {% verbatim %} {{ $name }} {% endverbatim %} {% endblade %}
测试
$ composer test
贡献
有关详细信息,请参阅CONTRIBUTING
安全性
如果您发现任何安全相关的问题,请通过michel@enflow.nl 发送电子邮件,而不是使用问题跟踪器。
鸣谢
关于Enflow
Enflow是一家位于荷兰阿尔芬的数字创意代理机构。我们专注于开发网络应用程序、移动应用程序和网站。您可以在我们的网站上找到更多信息。
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件