enflow/twig-blade-loader

将Blade语法加载到您的Twig模板中

3.1.0 2024-03-15 12:53 UTC

README

Latest Version on Packagist GitHub Workflow Status Total Downloads

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)。有关更多信息,请参阅许可证文件