Nelmio\Alice\Throwable\Exception\Generator\Resolver\UnresolvableValueExceptionFactory::createForInvalidReferenceId PHP Method

createForInvalidReferenceId() public static method

public static createForInvalidReferenceId ( Nelmio\Alice\Definition\ValueInterface $value, $result, integer $code, Throwable $previous = null ) : UnresolvableValueException
$value Nelmio\Alice\Definition\ValueInterface
$code integer
$previous Throwable
return UnresolvableValueException
    public static function createForInvalidReferenceId(ValueInterface $value, $result, int $code = 0, \Throwable $previous = null) : UnresolvableValueException
    {
        return new UnresolvableValueException(sprintf('Expected fixture reference value "%s" to be resolved into a string. Got "%s" instead.', $value, is_object($result) ? get_class($result) : sprintf('(%s) %s', gettype($result), $result)), $code, $previous);
    }

Usage Example

 /**
  * @throws UnresolvableValueException
  */
 private function getReferredFixtureId(ValueResolverInterface $resolver, ValueInterface $value, FixtureInterface $fixture, ResolvedFixtureSet $set, array $scope, GenerationContext $context) : array
 {
     $referredFixtureId = $value->getValue();
     if ($referredFixtureId instanceof ValueInterface) {
         $resolvedSet = $resolver->resolve($referredFixtureId, $fixture, $set, $scope, $context);
         list($referredFixtureId, $set) = [$resolvedSet->getValue(), $resolvedSet->getSet()];
         if (false === is_string($referredFixtureId)) {
             throw UnresolvableValueExceptionFactory::createForInvalidReferenceId($value, $referredFixtureId);
         }
     }
     return [$referredFixtureId, $set];
 }