Bristol SU Support Package
ModuleFrameworkServiceProvider.php
Go to the documentation of this file.
1 <?php
2 
4 
5 use BristolSU\Support\Module\Contracts\ModuleBuilder as ModuleBuilderContract;
7 use BristolSU\Support\Module\Contracts\ModuleFactory as ModuleFactoryContract;
9 use BristolSU\Support\Module\Contracts\ModuleRepository as ModuleRepositoryContract;
12 
16 class ModuleFrameworkServiceProvider extends ServiceProvider
17 {
18 
25  public function register()
26  {
27  $this->app->bind(ModuleContract::class, Module::class);
28  $this->app->bind(ModuleBuilderContract::class, ModuleBuilder::class);
29  $this->app->bind(ModuleFactoryContract::class, ModuleFactory::class);
30  $this->app->singleton(ModuleManagerContract::class, ModuleManager::class);
31  $this->app->bind(ModuleRepositoryContract::class, ModuleRepository::class);
32  }
33 
39  public function boot()
40  {
41  Route::bind('module', function($alias) {
42  return $this->app->make(ModuleRepositoryContract::class)->findByAlias($alias);
43  });
44 
45  }
46 }