*/ protected $provides = [ ConfigSubscriber::class, AbilitiesSubscriber::class, GetAccount::class, GetMediaStatus::class, GetNextgenCoverage::class, GetSettings::class, GetStats::class, OptimizeMedia::class, UpdateSettings::class, ]; /** * Subscribers provided by this provider. * * @var array */ public $subscribers = [ ConfigSubscriber::class, AbilitiesSubscriber::class, ]; /** * Checks whether this provider provides a given service. * * @param string $id Service identifier. * @return bool */ public function provides( string $id ): bool { return in_array( $id, $this->provides, true ); } /** * Registers the provided services into the container. * * @return void */ public function register(): void { $this->getContainer()->addShared( ConfigSubscriber::class ); $this->getContainer()->addShared( GetAccount::class ); $this->getContainer()->addShared( GetMediaStatus::class ); $this->getContainer()->addShared( GetNextgenCoverage::class ) ->addArgument( OptimizedMediaWithoutNextGen::class ); $this->getContainer()->addShared( GetSettings::class ); $this->getContainer()->addShared( GetStats::class ); $this->getContainer()->addShared( OptimizeMedia::class ); $this->getContainer()->addShared( UpdateSettings::class ); $this->getContainer()->addShared( AbilitiesSubscriber::class ) ->addArguments( [ GetAccount::class, GetMediaStatus::class, GetNextgenCoverage::class, GetSettings::class, GetStats::class, OptimizeMedia::class, UpdateSettings::class ] ); } /** * Returns the list of subscriber class names. * * @return array */ public function get_subscribers(): array { return $this->subscribers; } }