28 lines
830 B
PHP
28 lines
830 B
PHP
|
|
<?php
|
||
|
|
declare(strict_types=1);
|
||
|
|
|
||
|
|
namespace Phred\Providers\Core;
|
||
|
|
|
||
|
|
use DI\Container;
|
||
|
|
use DI\ContainerBuilder;
|
||
|
|
use Phred\Support\Contracts\ConfigInterface;
|
||
|
|
use Phred\Support\Contracts\ServiceProviderInterface;
|
||
|
|
|
||
|
|
final class TemplateServiceProvider implements ServiceProviderInterface
|
||
|
|
{
|
||
|
|
public function register(ContainerBuilder $builder, ConfigInterface $config): void
|
||
|
|
{
|
||
|
|
$driver = (string) \Phred\Support\Config::get('app.drivers.template', 'eyrie');
|
||
|
|
$impl = match ($driver) {
|
||
|
|
'eyrie' => \Phred\Template\EyrieRenderer::class,
|
||
|
|
default => \Phred\Template\EyrieRenderer::class,
|
||
|
|
};
|
||
|
|
|
||
|
|
$builder->addDefinitions([
|
||
|
|
\Phred\Template\Contracts\RendererInterface::class => \DI\autowire($impl),
|
||
|
|
]);
|
||
|
|
}
|
||
|
|
|
||
|
|
public function boot(Container $container): void {}
|
||
|
|
}
|