some ni atko/ doctrine-collections
PHP Doctrine Collections 库,在 PHP 数组之上增加了额外的功能。
1.6.8
2022-03-14 12:49 UTC
Requires
- php: ^7.1.3 || ^8.0
Requires (Dev)
- doctrine/coding-standard: ^9.0
- phpstan/phpstan: ^1.4.8
- phpunit/phpunit: ^7.5 || ^8.5 || ^9.1.5
- vimeo/psalm: ^4.22
Replaces
- doctrine/collections: ^1.6.4
This package is auto-updated.
Last update: 2024-09-14 18:09:50 UTC
README
集合抽象库
变更日志
v1.6.1
这次发布,与 doctrine/annotations
v1.6.1
的发布一起,修复了在 doctrine/collections
中无法解析注解的问题。
具体来说,v1.6.0
引入了 Psalm 特定的注解,如(例如)@template
和 @template-implements
,这两个都被错误地识别为 @template
。
因此,已经删除了 @template
,我们改用前缀为 @psalm-template
,它在 doctrine/collections
v1.6.1
中不再被解析。
已解决的总问题数: 1
- 186: 使用
@psalm-template
注解以避免冲突,感谢 @muglug
v1.6.0
这次发布将最低要求的 PHP 版本提升到 7.1.3。
引入了以下改进
ArrayCollection#filter()
现在允许通过键、值或两者进行过滤。- 当在具有定义访问器和属性的对象上使用
ClosureExpressionVisitor
时,访问器被优先考虑。 - 更新了测试工具和编码标准、自动加载,这也有助于边际性能提升
- 引入了来自 psalm 的泛型类型 docblock 声明,这应该允许用户在代码中声明
/** @var Collection<KeyType, ValueType> */
,并利用由此产生的类型传播。
已解决的总问题数: 16
- 127: 使用 PSR-4,感谢 @Nyholm
- 129: 移除方法声明中的空格,感谢 @bounoable
- 130: 更新构建以添加 PHPCS 和 PHPStan,感谢 @lcobucci
- 131: ClosureExpressionVisitor > 当字段已以访问器开头时,不要重复访问器,感谢 @ruudk
- 139: 应用 Doctrine CS 2.1,感谢 @Majkl578
- 142: CS 4.0,版本 composer.lock,合并阶段,感谢 @Majkl578
- 144: 更新到 PHPUnit 7,感谢 @carusogabriel
- 146: 更新 v1.4.0 和 v1.5.0 的变更日志,感谢 @GromNaN
- 154: 更新 index.rst,感谢 @chraiet
- 158: 将 Selectable 方法提取到自己的文档部分,感谢 @SenseException
- 160: 更新主页,感谢 @Majkl578
- 165: 允许使用
ArrayCollection#filter()
通过键、值或两者进行筛选,感谢 @0x13a - 167: 允许使用
ArrayCollection#filter()
通过键和值进行筛选,感谢 @0x13a - 175: CI: 使用 PHP 7.4 snapshot 而不是 nightly (8.0) 进行测试,感谢 @Majkl578
- 177: 使用 Psalm 通用化集合,感谢 @nschoellhorn
- 178: 更新 doctrine/coding-standard 到 6.0,感谢 @patrickjahns
v1.5.0
v1.4.0
v1.3.0
- 在标准 API 中显式转换第一个和最大结果
- 在排序时使用
ArrayCollection#matching()
保留键 - 为了可扩展性,将
AbstractLazyCollection#$initialized
设置为受保护的
v1.2.0
- 添加新的
AbstractLazyCollection
v1.1.0
-
弃用
Comparison::IS
,因为它只用于 SQL 语义。这些已在 ORM 中修复。 -
添加
Comparison::CONTAINS
以执行部分字符串匹配$criteria->andWhere($criteria->expr()->contains('property', 'Foo'));