eZ\Bundle\EzPublishCoreBundle\DependencyInjection\Configuration\ChainConfigResolver::getParameter PHP Method

getParameter() public method

Returns value for $paramName, in $namespace.
public getParameter ( string $paramName, string $namespace = null, string $scope = null ) : mixed
$paramName string The parameter name, without $prefix and the current scope (i.e. siteaccess name).
$namespace string Namespace for the parameter name. If null, the default namespace should be used.
$scope string The scope you need $paramName value for.
return mixed
    public function getParameter($paramName, $namespace = null, $scope = null)
    {
        foreach ($this->getAllResolvers() as $resolver) {
            try {
                return $resolver->getParameter($paramName, $namespace, $scope);
            } catch (ParameterNotFoundException $e) {
                // Do nothing, just let the next resolver handle it
            }
        }
        // Finally throw a ParameterNotFoundException since the chain resolver couldn't find any valid resolver for demanded parameter
        throw new ParameterNotFoundException($paramName, $namespace);
    }

Usage Example

 /**
  * @dataProvider getParameterProvider
  * @covers \eZ\Bundle\EzPublishCoreBundle\DependencyInjection\Configuration\ChainConfigResolver::addResolver
  * @covers \eZ\Bundle\EzPublishCoreBundle\DependencyInjection\Configuration\ChainConfigResolver::getParameter
  *
  * @param string $paramName
  * @param string $namespace
  * @param string $scope
  * @param mixed $expectedValue
  */
 public function testGetParameter($paramName, $namespace, $scope, $expectedValue)
 {
     $resolver = $this->getMock('eZ\\Publish\\Core\\MVC\\ConfigResolverInterface');
     $resolver->expects($this->once())->method('getParameter')->with($paramName, $namespace, $scope)->will($this->returnValue($expectedValue));
     $this->chainResolver->addResolver($resolver);
     $this->assertSame($expectedValue, $this->chainResolver->getParameter($paramName, $namespace, $scope));
 }