diff options
Diffstat (limited to 'vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php')
-rw-r--r-- | vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php b/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php new file mode 100644 index 0000000..9f7586d --- /dev/null +++ b/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php @@ -0,0 +1,30 @@ +<?php + +namespace Doctrine\Common\Collections; + +/** + * Interface for collections that allow efficient filtering with an expression API. + * + * Goal of this interface is a backend independent method to fetch elements + * from a collections. {@link Expression} is crafted in a way that you can + * implement queries from both in-memory and database-backed collections. + * + * For database backed collections this allows very efficient access by + * utilizing the query APIs, for example SQL in the ORM. Applications using + * this API can implement efficient database access without having to ask the + * EntityManager or Repositories. + * + * @psalm-template TKey as array-key + * @psalm-template T + */ +interface Selectable +{ + /** + * Selects all elements from a selectable that match the expression and + * returns a new collection containing these elements. + * + * @return Collection<mixed>&Selectable<mixed> + * @psalm-return Collection<TKey,T>&Selectable<TKey,T> + */ + public function matching(Criteria $criteria); +} |