MailServiceProvider   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 2
dl 0
loc 23
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A register() 0 20 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Linio\Component\Mail\Provider;
6
7
use Linio\Component\Mail\AdapterFactory;
8
use Linio\Component\Mail\MailService;
9
use Pimple\Container;
10
use Pimple\ServiceProviderInterface;
11
12
class MailServiceProvider implements ServiceProviderInterface
13
{
14
    public function register(Container $container): void
15
    {
16
        if (!isset($container['mail.adapter_name'])) {
17
            $container['mail.adapter_name'] = 'null';
18
        }
19
20
        $container['mail.adapter'] = $container->factory(function ($container) {
21
            $adapterFactory = new AdapterFactory();
22
23
            return $adapterFactory->getAdapter($container['mail.adapter_name'], $container['mail.adapter_options']);
24
        });
25
26
        $container['mail.service'] = function ($container) {
27
            $mailService = new MailService();
28
            $mailService->setAdapter($container['mail.adapter']);
29
            $mailService->setLogger($container['monolog']);
30
31
            return $mailService;
32
        };
33
    }
34
}
35