PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.

Installs: 196 550 167

Dependents: 916

Suggesters: 12

Security: 0

Stars: 5 540

Watchers: 28

Forks: 165

Open Issues: 39

1.6.8 2021-08-10 18:51 UTC

This package is auto-updated.

Last update: 2022-05-07 15:07:49 UTC


Build Status Code Coverage

Collections Abstraction library



This release, combined with the release of doctrine/collections v1.6.1, fixes an issue where parsing annotations was not possible for classes within doctrine/collections.

Specifically, v1.6.0 introduced Psalm-specific annotations such as (for example) @template and @template-implements, which were both incorrectly recognized as @template.

@template has therefore been removed, and instead we use the prefixed @psalm-template, which is no longer parsed by doctrine/collections v1.6.1

Total issues resolved: 1


This release bumps the minimum required PHP version to 7.1.3.

Following improvements were introduced:

  • ArrayCollection#filter() now allows filtering by key, value or both.
  • When using the ClosureExpressionVisitor over objects with a defined accessor and property, the accessor is prioritised.
  • Updated testing tools and coding standards, autoloading, which also led to marginal performance improvements
  • Introduced generic type docblock declarations from psalm, which should allow users to declare /** @var Collection<KeyType, ValueType> */ in their code, and leverage the type propagation deriving from that.

Total issues resolved: 16





  • Add a new AbstractLazyCollection


  • Deprecated Comparison::IS, because it's only there for SQL semantics. These are fixed in the ORM instead.

  • Add Comparison::CONTAINS to perform partial string matches:

      $criteria->andWhere($criteria->expr()->contains('property', 'Foo'));