Completed
Push — EZP-31046-chain-config-resolve... ( cbbd6c...51eaf2 )
by
unknown
14:38
created

StaticSiteAccessConfigResolver::doGetParameter()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
nc 2
nop 3
dl 0
loc 9
rs 9.9666
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace eZ\Bundle\EzPublishCoreBundle\DependencyInjection\Configuration\ConfigResolver;
6
7
use eZ\Publish\Core\MVC\Exception\ParameterNotFoundException;
8
use eZ\Publish\Core\MVC\Symfony\SiteAccess;
9
use eZ\Publish\Core\MVC\Symfony\SiteAccess\Provider\StaticSiteAccessProvider;
10
use Symfony\Component\DependencyInjection\ContainerAwareTrait;
11
12
/**
13
 * @property-read \Symfony\Component\DependencyInjection\ContainerInterface $container
14
 */
15
class StaticSiteAccessConfigResolver extends SiteAccessConfigResolver
16
{
17
    use ContainerAwareTrait;
18
19
    protected function doHasParameter(SiteAccess $siteAccess, string $paramName, string $namespace): bool
20
    {
21
        return $this->container->hasParameter(
22
            $this->resolveScopeRelativeParamName($paramName, $namespace, $siteAccess->name)
23
        );
24
    }
25
26
    protected function doGetParameter(SiteAccess $siteAccess, string $paramName, string $namespace)
27
    {
28
        $scopeRelativeParamName = $this->getScopeRelativeParamName($paramName, $namespace, $siteAccess->name);
29
        if ($this->container->hasParameter($scopeRelativeParamName)) {
30
            return $this->container->getParameter($scopeRelativeParamName);
31
        }
32
33
        throw new ParameterNotFoundException($paramName, $namespace, [$siteAccess->name]);
34
    }
35
36
    protected function isSiteAccessSupported(SiteAccess $siteAccess): bool
37
    {
38
        return StaticSiteAccessProvider::class === $siteAccess->provider;
39
    }
40
}