nystudio107/craft-closure

允许你在Twig中使用箭头函数闭包

资助包维护!
khalwat

安装次数: 28,413

依赖: 2

建议者: 0

安全性: 0

星标: 22

关注者: 6

分支: 3

开放问题: 0

类型:yii2-extension

1.0.6 2024-07-31 21:09 UTC

This package is auto-updated.

Last update: 2024-08-31 21:25:46 UTC


README

Scrutinizer Code Quality Code Coverage Build Status Code Intelligence Status

Craft CMS的闭包

允许你在Twig中使用箭头函数闭包

虽然闭包是一种猴子补丁,但它是一个非常干净、简单的补丁,它依赖于已经集成到Twig中的功能

要求

闭包需要Craft CMS 4.x或5.x版本

安装

要安装闭包,请按照以下步骤操作

  1. 打开终端并进入您的Craft项目目录

     cd /path/to/project
    
  2. 然后告诉Composer需要该包

     composer require nystudio107/craft-closure
    

关于闭包

Twig支持箭头函数闭包,但仅限于过滤器映射归约过滤器。

遗憾的是,Twig没有计划允许更广泛地使用箭头函数闭包。

Craft Closure允许你在任何地方使用箭头函数闭包,这对于使用Laravel Collection方法特别有用,其中许多方法都接受闭包作为参数。

使用闭包

一旦将nystudio107/craft-closure包添加到您的项目中,就不需要进一步设置。这是因为它作为自动引导的Yii2模块运行。

然后您可以将一个箭头函数闭包作为参数传递给任何接受它们的东西,例如许多Laravel Collection方法

    {% set collection = collect(['a', 'b', 'c']) %}
    {% set contains = collection.contains((value, key) => value == 'z') %}

或者您可以将一个箭头函数闭包分配给一个Twig变量以供重用

    {% set collection = collect(['a', 'b', 'c']) %}
    {% set closure = (value, key) => value == 'a' %}
    {% set contains = collection.contains(closure) %}

使用箭头函数闭包特别有用,因为现在Craft元素查询都可以通过.collect()方法返回一个Collection。

关于Twig中箭头函数的更多信息

更多信息请参阅:Twig箭头函数

闭包路线图

要完成的事情和一些潜在功能的想法

  • 初始版本发布

nystudio107提供