/collections

Collections Abstraction Library

Primary LanguagePHPMIT LicenseMIT

Doctrine Collections

Build Status Scrutinizer Code Quality Code Coverage

Collections Abstraction library

Changelog

v1.6.1

This release, combined with the release of doctrine/annotations 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

v1.6.0

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

v1.5.0

v1.4.0

v1.3.0

v1.2.0

  • Add a new AbstractLazyCollection

v1.1.0

  • 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'));