40 lines
842 B
PHP
40 lines
842 B
PHP
<?php
|
|
|
|
namespace App\Providers;
|
|
|
|
use App\Services\Partners\PartnersFactory;
|
|
use Illuminate\Support\ServiceProvider;
|
|
|
|
class PartnersServiceProvider extends ServiceProvider
|
|
{
|
|
protected array $partners = [
|
|
\App\Services\Partners\Partners\Amazon::class,
|
|
\App\Services\Partners\Partners\Omlet::class,
|
|
\App\Services\Partners\Partners\Lego::class,
|
|
];
|
|
|
|
/**
|
|
* Register services.
|
|
*/
|
|
public function register(): void
|
|
{
|
|
$this->app->singleton('partners.factory', function ($app) {
|
|
$factory = new PartnersFactory();
|
|
|
|
foreach ($this->partners as $class) {
|
|
$factory->registerPartner($class);
|
|
}
|
|
|
|
return $factory;
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Bootstrap services.
|
|
*/
|
|
public function boot(): void
|
|
{
|
|
//
|
|
}
|
|
}
|