Bristol SU Support Package
ActionServiceProvider.php
Go to the documentation of this file.
1 <?php
2 
3 
5 
6 
8 use BristolSU\Support\Action\Contracts\ActionBuilder as ActionBuilderContract;
9 use BristolSU\Support\Action\Contracts\ActionInstanceRepository as ActionInstanceRepositoryContract;
10 use BristolSU\Support\Action\Contracts\ActionManager as ActionManagerContract;
11 use BristolSU\Support\Action\Contracts\ActionRepository as ActionRepositoryContract;
13 use BristolSU\Support\Action\Facade\ActionManager as ActionManagerFacade;
16 
20 class ActionServiceProvider extends ServiceProvider
21 {
22 
30  public function register()
31  {
32  // Bind interfaces to contracts
33  $this->app->bind(ActionRepositoryContract::class, ActionRepository::class);
34  $this->app->singleton(ActionManagerContract::class, ActionManager::class);
35  $this->app->bind(ActionBuilderContract::class, ActionBuilder::class);
36  $this->app->bind(ActionInstanceRepositoryContract::class, ActionInstanceRepository::class);
37  }
38 
45  public function boot()
46  {
47  Event::listen(TriggerableEvent::class, ActionDispatcher::class);
48 
49  ActionManagerFacade::registerAction(Log::class, 'Log', 'Log some text');
50  }
51 
52 }