Bristol SU Support Package
FilterRepository.php
Go to the documentation of this file.
1 <?php
2 
3 
5 
6 
7 use BristolSU\Support\Filters\Contracts\FilterFactory as FilterFactoryContract;
8 use BristolSU\Support\Filters\Contracts\FilterManager as FilterManagerContract;
12 
17 {
18 
24  private $manager;
25 
31  private $filterFactory;
32 
37  public function __construct(FilterManagerContract $manager, FilterFactoryContract $filterFactory)
38  {
39  $this->manager = $manager;
40  $this->filterFactory = $filterFactory;
41  }
42 
50  public function getByAlias($alias)
51  {
52  $class = $this->manager->getClassFromAlias($alias);
53  return $this->filterFactory->createFilterFromClassName($class);
54  }
55 
61  public function getAll()
62  {
63  $classes = $this->manager->getAll();
64 
65  $filters = [];
66  foreach ($classes as $class) {
67  $filters[] = $this->filterFactory->createFilterFromClassName($class);
68  }
69  return $filters;
70  }
71 }
__construct(FilterManagerContract $manager, FilterFactoryContract $filterFactory)