diff --git a/src/Filters.php b/src/Filters.php index 918b2c6..e8ae2d5 100644 --- a/src/Filters.php +++ b/src/Filters.php @@ -5,6 +5,12 @@ namespace Arxy\DoctrineORMFilters; use Doctrine\ORM\QueryBuilder; +use InvalidArgumentException; + +use function call_user_func_array; +use function count; +use function is_array; +use function is_callable; trait Filters { @@ -26,7 +32,7 @@ private function getFilter($name): callable $this->createFilters(); if (!isset($this->filters[$name])) { - throw new \InvalidArgumentException('Filter '.$name.' for '.get_class($this).' does not exists'); + throw new InvalidArgumentException('Filter ' . $name . ' for ' . get_class($this) . ' does not exists'); } return $this->filters[$name]; @@ -81,7 +87,6 @@ public function getSingleResultByFilters(iterable $filterBy): object return $this->createQueryBuilderByFilters('entity', $filterBy)->getQuery()->getSingleResult(); } - public function countByFilters(iterable $filterBy): int { return (int)$this @@ -90,4 +95,4 @@ public function countByFilters(iterable $filterBy): int ->getQuery() ->getSingleScalarResult(); } -} \ No newline at end of file +} diff --git a/src/HasFilters.php b/src/HasFilters.php index df04bbf..d2a7548 100644 --- a/src/HasFilters.php +++ b/src/HasFilters.php @@ -4,6 +4,8 @@ namespace Arxy\DoctrineORMFilters; +use Doctrine\ORM\NonUniqueResultException; +use Doctrine\ORM\NoResultException; use Doctrine\ORM\QueryBuilder; interface HasFilters @@ -17,17 +19,21 @@ public function createQueryBuilderByFilters( public function appendFilter(QueryBuilder $queryBuilder, string $alias, string $filterName, ...$values): bool; /** - * @throws \Doctrine\ORM\NonUniqueResultException + * @throws NonUniqueResultException */ public function findOneByFilters(iterable $filterBy): ?object; public function findByFilters(iterable $filterBy): array; /** - * @throws \Doctrine\ORM\NoResultException - * @throws \Doctrine\ORM\NonUniqueResultException + * @throws NoResultException + * @throws NonUniqueResultException */ public function getSingleResultByFilters(iterable $filterBy): object; + /** + * @throws NonUniqueResultException + * @throws NoResultException + */ public function countByFilters(iterable $filterBy): int; -} \ No newline at end of file +} diff --git a/tests/TestRepository.php b/tests/TestRepository.php index 89b92f7..1c2b0b9 100644 --- a/tests/TestRepository.php +++ b/tests/TestRepository.php @@ -4,12 +4,13 @@ use Arxy\DoctrineORMFilters\Filters; use Arxy\DoctrineORMFilters\HasFilters; +use Doctrine\ORM\QueryBuilder; class TestRepository implements HasFilters { use Filters; - public function createQueryBuilder($alias, $indexBy = null) + public function createQueryBuilder($alias, $indexBy = null): QueryBuilder { } @@ -18,4 +19,4 @@ public function getFilters(): array { return []; } -} \ No newline at end of file +}