42 lines
1.1 KiB
PHP
42 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Providers;
|
|
|
|
use App\Services\BundleRenderers\BundleRendererFactory;
|
|
use Illuminate\Support\ServiceProvider;
|
|
|
|
class BundleRendererServiceProvider extends ServiceProvider
|
|
{
|
|
protected array $bundleRenderers = [
|
|
\App\Services\BundleRenderers\Renderers\DossiersListRenderer::class,
|
|
\App\Services\BundleRenderers\Renderers\DossierRenderer::class,
|
|
\App\Services\BundleRenderers\Renderers\DateBasedListRenderer::class,
|
|
\App\Services\BundleRenderers\Renderers\ProductBasedListRenderer::class,
|
|
\App\Services\BundleRenderers\Renderers\TermRenderer::class,
|
|
];
|
|
|
|
/**
|
|
* Register services.
|
|
*/
|
|
public function register(): void
|
|
{
|
|
$this->app->singleton('bundleRenderer.factory', function ($app) {
|
|
$factory = new BundleRendererFactory();
|
|
|
|
foreach ($this->bundleRenderers as $class) {
|
|
$factory->registerBundleRenderer($class);
|
|
}
|
|
|
|
return $factory;
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Bootstrap services.
|
|
*/
|
|
public function boot(): void
|
|
{
|
|
//
|
|
}
|
|
}
|