Bristol SU Support Package
ModuleRepository.php
Go to the documentation of this file.
1 <?php
2 
4 
5 use BristolSU\Support\Module\Contracts\ModuleFactory as ModuleFactoryContract;
7 use BristolSU\Support\Module\Contracts\ModuleRepository as ModuleRepositoryContract;
8 
12 class ModuleRepository implements ModuleRepositoryContract
13 {
14 
20  private $manager;
21 
27  private $factory;
28 
33  public function __construct(ModuleManagerContract $manager, ModuleFactoryContract $factory)
34  {
35  $this->manager = $manager;
36  $this->factory = $factory;
37  }
38 
44  public function all()
45  {
46  $modules = [];
47  foreach ($this->manager->aliases() as $alias) {
48  $modules[$alias] = $this->factory->fromAlias($alias);
49  }
50  return $modules;
51  }
52 
59  public function findByAlias($alias)
60  {
61  if ($this->manager->exists($alias)) {
62  return $this->factory->fromAlias($alias);
63  }
64  return null;
65  }
66 
67 }
__construct(ModuleManagerContract $manager, ModuleFactoryContract $factory)